== Курсач ==
- ESCAPE ALL HTML!!!!
- меню вставлять через getelementbyId не забыть валидацию editbox запроса (как и всех остальных) индексы в монге!
Зарегистриваться могут только студенты. Остальных пользователей можно только создать (во избежание контрафактов)
Студент, староста, преподаватель, редактор, админ Система ролей: есть роль, проверка во всех запросах - по JSON схеме - хранятся в словаре
Запрос идентифициурется словарем? Достать правила для данного запроса и req Проверить - да/нет
Событие:
- Мета (название, начало, [конец], ОПИСАНИЕ!!)
- Автор события
- Статус (предстоит, происходит, прошло, отменено, перенесено) - статусы не зависят от текущего времени ??
- Участники (просто логины (ибо роли есть в пользователях))
- Материалы (ссылки на загруженные файлы)
- Переписка (создать комнату, правила для комнаты - может писать только преподаватель?)
[ ] Управление
[ ] Чат для преподавателей (личный)
[ ] Встраиваемый чат [ ] Создание события [ ] Проведение события
Финишная прямая: [x] Верстка создания события [x] Перенести test.html на страницу управления [x] Уведомление о событии в новостях [x] (До)верстка интерфейса отправления новости [ ] Починить получение новостей [ ] Логика проведения события [ ] Создание чат-комнаты [ ] Удаление чат-комнаты [ ] [ ] Верстка страницы проведения события [ ] Выпадающее меню (абитуриенту) [ ] Роли [ ] У всех пользователей есть роль [ ] Какая роль что делает [ ] Проверка ролей (как раньше) [ ] Индексы в монге [ ] Почистить текст?
[ ] Код [ ] Бек [x] Чат [x] Websocket server [x] Как это всё хранить в базе (чат id, id участников, история, название, createdAt...) [x] Создание чата (n участников) [x] Отправка сообщения [x] Получение истории (непрочитанные*) [x] Websocket client [ ] Система ролей (доделываем текущую схему) [.] Сами роли (биты? таблица? что-то лучше?) [.] Расстановка ролей на действия (что такое действия - метод + url + параметры) [.] Проверка роли [ ] Фронт (надо придумать единый стиль для активных элементов, тогда будет проще прв-ать) [.] Починить меню [.] Починить клиентский JS [x] Ссылку на полный учебный план [x] Вставить editbox в сайт [x] Загрузка текста editbox при загрузке страницы (рендер) [ ] *История редактирования для editbox [x] Регистрация (переверстка) [x] Календарный план (прв) [x] Поступление (прв) [x] Наши выпускники (прв) [x] Публикация новостей (прв) [x] Управление [x] События [x] Создание события [x] Заявки на регистрацию [x] Добавление пользователей [ ] *Модификация пользователей [ ] Участие в событии