Необходимо разработать небольшое приложение для планирования встреч.
Приложение должно реализовывать следующий функционал:
- Добавление пользователей и их вывод. У пользователя есть:
- имя;
- фамилия.
- Создание команд (групп пользователей) и их вывод. Команда содержит:
- название;
- список пользователей.
- Создание встреч внутри команды. Встреча должна содержать:
- тему (название);
- список участников, один и тот же пользователь не может быть активным участником двух встреч, проходящих в одно и то же время;
- роли фасилитатор и секретарь (каждая роль должна быть занята одним из участников встречи, при этом один и тот же участник не может занимать обе роли, а встреча не может быть создана до тех пор, пока обе роли не заняты).
- Вывод списка встреч команды. Плитка встречи должна отображать:
- тему встречи;
- время начала и конца;
- статус встречи (запланирована/проходит/завершена);
- участников встречи.
- Сохранение данных в localStorage, real-time синхронизация данных между открытыми вкладками одного браузера.
Как минимум одно из действий должно выполняться во всплывающем окне.
Требования: Webpack, Vue, Vuex. В остальном — абсолютная свобода.
Задание позволяет оценить навыки продумывания архитектуры SPA сложнее банальной todo'шки, а также оптимальность подходов при решении типичных фронтовых задач.