Сервис коллективной работы (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Яковлев Виктор
Учебный семестр Осень 2016
Учебный курс 2-й курс
Максимальное количество студентов, выбравших проект: 1



Контактная информация

Канал в Telegram для объявлений: @hse_cs_projects_15x_yacovlev

Нужно создать приватный репозиторий в BitBucket или GitHub, и добавить в collaborators ментора:

- BitBucket: victor_yacovlev
- GitHub: victor-yacovlev

После этого - заполнить форму https://goo.gl/forms/lzoRPbyyWJskFc2j2, в которой нужно указать ссылку на страницу с репозиторием.

Что это за проект?

Реализовать веб-сервис для коллективной работы с текстовыми данными.

Чему вы научитесь?

1. Разработке веб-сервисов

2. Проектированию высоконагруженных систем

Какие начальные требования?

1. Знание современных технологий HTML5

2. Понимание основ работы с нереляционными базами данных

3. Понимание принципов работы одной из систем контроля версий, например git

Какие будут использоваться технологии?

1. NoSQL система управления базами данных, на выбор студента

2. Любой веб-фреймворк, на усмотрение студента, ориентированный на одновременную обработку большого количества соединений.

Темы вводных занятий

1. Введение в задачу

2. Внутреннее устройство систем контроля версий

3. Введение в проблему “10K одновременных соединений”

Направления развития

Возможна реализация веб-приложения, функционально эквивалентного Google Documents или Google Spreadsheets.

Критерии оценки

4 балла - реализовано веб-приложение, которое позволяет зарегистрированному пользователю создавать и редактировать тексты.

5 баллов - сервис позволяет хранить историю изменений, и выполнять восстановление документа до предыдущего состояния из истории.

6 баллов - несколько пользователей могут одновременно вносить изменения в документ. Сервер, в этом случае, обязан поддерживать непротиворечивое состояние редактируемого документа.

7 баллов - под изменением документа подразумевается не только изменение текста, но и изменения в его форматирование.

8 баллов - при одновременном редактировании документа несколькими пользователями, новые правки видны всем пользователям в реальном времени.

9 баллов - гарантируется фиксированное максимальное время уведомления всех пользователей о внесении изменения в редактируемый документ одним из пользователей. Подготовлена система тестов для определения этого времени t при N одновременных подключениях к сервису и k одновременных попытках редактирования одного и того же документа.

10 баллов - выполнение сервиса на современном ноутбуке под управлением ОС Linux гарантирует время ответа не более 500 мс при одновременном подключении не менее 1000 пользователей.

Внимание: критерий на больший балл подразумевает выполнение всех предшествующих ему критериев с меньшим баллом.

Ориентировочное расписание занятий

По договоренности.