Skip to content
This repository has been archived by the owner on Apr 19, 2023. It is now read-only.
/ semanticNT Public archive

Сетевой проект разработки системы открытого онлайн-обучения НИУ ИТМО

License

Notifications You must be signed in to change notification settings

meefik/semanticNT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7a563d9 · Apr 18, 2014
Apr 18, 2014
Jun 2, 2013
Nov 26, 2013
Jun 2, 2013
Jun 2, 2013
May 17, 2013
Apr 2, 2013
Jan 15, 2014
Jun 21, 2013

Repository files navigation

semanticNT

Цель образовательного проекта "Открытое онлайн-обучение" — предоставление доступа к электронным курсам НИУ ИТМО, которые могут содержать видеолекции, электронные презентации к ним, текстовые материалы, вопросы для самоконтроля, экзаменационные задания.

Познавайте новое в компактной форме в любой точке мира в удобное для себя время!

Описание

В проекте используется система, в основе которой лежит концепция веб-приложения. В отличие от веб-сайта, где сервером генерируется контент и отсылается клиенту в виде HTML-страниц, система представляет собой почти автономное приложение, работающее в браузере. Приложение динамически отслеживает свое состояние, обрабатывает действия пользователя и отображает данные, которые получает с сервера по запросу в формате JSON. В таком приложении страницы динамически изменяются на клиенте, а не генерируется полностью или частично на сервере. Стоит отметить, что все данные делятся на две части — статические и динамические. Предполагается, что данные не меняющиеся со временем (например, содержимое курса) хранятся в файлах на веб-сервере, а динамически изменяемые данные (например, данные пользователей) хранятся в базе данных, доступ к которым можно получить прямо из веб-приложения через API. Веб-приложение получает данные с сервера посредством службы REST, представляющая собой некоторый API, используя который приложение может получать и передавать динамически изменяющиеся данные для последующей их обработки и сохранения в базе данных. Такой API в дальнейшем можно использовать при разработке других приложений, например приложения для мобильных устройств.

При разработке системы используется только свободное программное обеспечение. Серверная архитектура спроектирована с учетом возможности масштабирования системы, что позволяет почти линейно наращивать вычислительную мощность путем увеличения количества серверных компонентов. В качестве серверной платформы используется node.js, а в качестве front-end — веб-сервер nginx.

Для хранения данных используется нереляционная (noSQL) документо-ориентированная СУБД MongoDB, основным достоинством которой является возможность работы с большими объемами данных, масштабируемость и распределенность.

Разработка клиентской части (веб-приложение) ведется на основе фреймворка AngularJS и библиотеки jQuery, в качестве шаблона оформления (стили и примитивы) используется Twitter Bootstrap. В качестве видеоплеера используется popcorn.js.

Электронный курс состоит из отдельных блоков, каждый из которых представляет собой шаблон JavaScript + HTML + CSS. На данный момент в системе предусмотрены следующие типовые блоки:

  • программа;
  • дорожная карта;
  • форумы и объявления;
  • видеолекции, презентации, опросы;
  • онтология предметной области;
  • проектная деятельность;
  • упражнения;
  • практикум;
  • песочница;
  • экзамен;
  • рейтинг.

Разработчики системы могут создавать новые типы блоков, если предложенного функционала недостаточно. Каждый блок содержит клиентскую и серверную части, разработка которых должна вестись на JavaScript — один язык как для клиента, так и для сервера, что позволяет использовать одни и те же фрагменты кода на обеих сторонах. Помимо использования единого языка для программирования как клиентской, так и серверной части, следует упомянуть о наличии бесплатной облачной среды разработки Cloud9, что является еще одним плюсом для разработчиков системы.

Лицензия

(с) НИУ ИТМО, 2013-2014

Проект опубликован под лицензией GPL версии 3 и выше.

Адрес в Интернете: http://courses.academicmt.ru/

About

Сетевой проект разработки системы открытого онлайн-обучения НИУ ИТМО

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages