s21toolkit / s21world

21 School stats website

Home Page:https://21world.ru/stat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PeerStat (beta)

Сервис статистики для студентов Школы 21

https://21world.ru/stat

Приложение парсит учебную платформу Школы, собирает разные данные о студентах и выводит в виде удобной таблицы с фильтрами и сортировкой.

Обновляется раз в сутки, для получения токена логинится с помощью Selenium (костыль конечно, но нормального API для авторизации там нет).

Данные собираются через запросы к graphQL сервису учебной платформы, но так как доступа к graphQL Schema тоже нет, приходится формировать тело запроса вручную в виде json с подстановкой значения переменных.

Таблица с данными генерируется на стороне сервера с помощью Thymeleaf шаблона, на фронте для фильтров, сортировки и пагинации используется библиотека datatable (https://github.com/Holt59/datatable)

WIP

to do:

  • вынести парсер в отдельный модуль
  • завернуть всё в docker compose
  • тесты
  • рефакторинг и прибраться

About

21 School stats website

https://21world.ru/stat


Languages

Language:Java 40.1%Language:JavaScript 30.8%Language:HTML 23.6%Language:CSS 5.5%