Disclaimer #1:
Тестовые данные статистики за 19-20ые года, поэтому для отображения графиков надо отмотать на соответствующий период
Disclaimer #2:
Иногда heroku подлагивает и не отдает фронт, в этом случае надо подождать и перезагрузить страницу
Доступен по ссылке на хостинге herokuapp
Логин: student
Пароль: 123
Логин: user
Пароль: 123
-
Процесс ручной сборки на Linux / macOS:
- В корне проекта запустить
./gradlew clean :backend:bootRun -Denv=development
- Перейти на http://localhost:8080/
- В корне проекта запустить
Параметры логина аналогичны продовым, см выше.
-
Frontend:
- React основная библиотека -- v17.0.2
- Yarn для управления зависимостями -- v1.22.10
- TypeScript для строгой типизации -- v4.2.3
- StyledComponents для динамичных стилей -- v5.2.3
- React.Context для хранения глобального стейта -- v17.0.2
- PrimeReact для готовых компонентов -- v6.2.1
- Axios для запросов -- v0.21.1
- i18next для локализации -- v20.1.0
- Recharts для рендера графиков -- v2.0.9
- React-hook-form для валидации форм -- v6.15.5
-
Backend:
- Java язык разработки -- v11.0.3
- Spring Boot основной фреймворк -- v2.4.0
- Univocity-parsers для парсинга CSV -- v2.1.1
-
Devops:
- Gradle (wrapper) скрипты для сборки фронта и бека (локально фронт помещается в ресурсы спринга, а в продовом режиме упаковывается в джарник) -- v6.4.1
- Heroku в качестве сервера
-
Frontend:
- Создано разделение по ролям для задела на различный фунционал, например, для студентов, обычных юзеров и администраторов
- Добавлена локализация на двух языках -- русском и английском
- Загрузка персонального файла статистики в личном кабинете
- Панель для слабовидящих в соответствии со стандартами (WCAG) 2.0 и ГОСТ Р 52872-2019
- Темная и светалая темы веб приложения
- Отображение данных статистики в виде таблицы со средними показателями и графиков по каждому из продуктов (WebStorm, Idea Intellij, GoLand)
- Фильтрация данных по различным промежуткам (day, week, month, quarter, year)
-
Backend:
- Аутентификация и авторизация пользователя
- Обработка персональных файлов статистики пользователя
- Фильтрация предоставленного файла