Skip to content

devsnice/shri-entrance-task-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Запуск

  • запустить сервер - запускается на 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)
  • Форматирование данных

написать корректный набор функций для корректного разбора и преобразования данных

  • Алгоритм рекомендаций

написать алгоритм

  • Тесты

написать тесты для утилитарных функций и алгоритмов (распределение пустых слотов, рекомендованные переговорки)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published