- запустить сервер - запускается на 3001 порту
- npm start - запускает приложение на 3000 порту
- React - библитека для написания интерфейса приложения
- Apollo-client - GraphQL клиент упрощает работу с нашим сервером, удобно работать в получением данных с сервера, описывать mutation, которые мы может отправить на сервер. Есть поддержка кэширования данных, которые приходят с сервера за счет локального кэш-хранилища, есть механизм для применения изменений, после того как на сервере произошли какие-то изменения.
- Redux - используется как store приложения для удобной работы с попапами
- Styled-components - css-in-js компоненты для реакта, упрощает работы с css, позволяет использовать синтаксис js для написания логики. В приложении используется для работы с медиа-выражениями, css-темой приложения (на примере шрифтов)
Не успел закончить некоторые моменты приложения
- Переход к созданию нового митинга по клику на пустой слот в расписании
можно передевать query параметры (roomId, timeStart, timeEnd, date) на страницу /eventEditor, и использовать как для инициализации формы
-
Редактирование митинга
- редактивание пользователей (добавление новых, удаление старых)
- изменение комнаты
-
Полноценная работа SPA приложения
нужно хранить текущие состояние приложения (например дата календаря) в адрессной строке пользователя, для удобного перемещения по браузерной истории
- Форматирование времени
работа с таймзоной сервера и пользователя, сейчас происходит рассинхронизация
- Валидация данных
нужно отображать поля, которые еще пользователю нужно заполнить
-
UX
- добавить лоадеры при затянувшихся серверных запросах, проблем с доступом к серверу
- отображать пользователю дополнительные попапы с ошибками при сохранении/изменении данных
- ввод времени - можно вводить только цифры (можно сделать маску), а можно сделать дропдаун с рабочими часами и минутами (00, 15, 30, 45)
-
Форматирование данных
написать корректный набор функций для корректного разбора и преобразования данных
- Алгоритм рекомендаций
написать алгоритм
- Тесты
написать тесты для утилитарных функций и алгоритмов (распределение пустых слотов, рекомендованные переговорки)