Devdays Осень 2017/shared online buffer
Материал из SEWiki
Состав команды:
- Голышев Роман
- Кузнецов Александр
- Шеметова Екатерина
Features:
- Любой человек может создать новую сессию буффера
- При создании буффера на него создается read-only ссылка, которую можно публично шарить
- При изменени текста в буффере изменения автоматически отображаются у тех, у кого открыта read-only ссылка
- На сервере хранится последняя версия текста в буффере
Возможные улучшения:
- Установка времени жизни буффера
- Пароль на read-only ссылки
- Подсветка синтаксиса
Очевидные проблемы:
- параллельное редактирвание
- решение - забиваем
- разные версии браузеров
- решение - забиваем (последний Chrome)
Предполагаемый стек:
- backend: python + Django
- обновление буфферов у читателей через web-сокеты
Proof-of-Concept plan:
- один буффер по фиксированному адресу с фиксированной read-only ссылкой
Результаты
Вклад участников
- Голышев Роман
- разработка схемы взаимодействия компонент
- интеграционные задачи
- документация и презентация проекта
- имплементация части логики по рассылке обновлений
- Кузнецов Александр
- настройка работы с веб-сокетами в django
- реализация логики читателей со стороны фронтенда
- создание новых документов
- логика выдачи документов по url
- подсветка синтаксиса
- Шеметова Екатерина
- создание каркаса веб-приложения для django
- настройка схемы БД и написание CRUD-а
- настройка работы с веб-сокетами в js
- написание логики писателей со стороны фронтенда
- создание и верстка лэндинга
- генерация токенов для документов
- обработка ошибок
Выполненные задачи
Запланировано и сделано:
- все цели из списка запланированных Features
- создание буфера
- редактирование
- read/write-ссылки
Сделано из опционального:
- подсветка синтаксиса (без сохранения в БД)
- ограничение на множественное редактирование
- отображение недавно созданных буферов
Не сделано:
- редактирование названия буфера
- удаление буфера
- защита паролем
- время жизни буфера
Ссылки
Репозиторий с кодом и инструкцией по установке: [1]
Список известных багов: [2]
Презентация (work in progress): [3]
Видео-демонстрация: [4]