Skip to content

WEB-система для контроля отсутствующих в школе с удобным интерфейсом для телефона и компьютера, пользователями, ролями и табличками

Notifications You must be signed in to change notification settings

thecattest/lyceum-reports

Repository files navigation

Электронная система контроля отсутствующих в Лицее

Запущена на http://92.53.124.98:8000
Приложение https://github.com/thecattest/lyceum-reports-android

Идея

В нашем лицее ежедневно отслеживаются отсутствующие ученики. Для этого два дежурных ученика ходят по школе и собирают списки отсутствующих, после чего записывают результаты в бумажную таблицу.
Идея этого проекта заключается в полной оцифровке процесса. Я написал WEB-систему, в которой можно отмечать отсутствующих и просматривать актуальную информацию в разных представлениях. Доступ к ней осуществляется по интернету. На данный момент она запущена на моем VDS сервере. В случае, если всё сложится, впереди этап тестирования в школе, а также доработки, диктуемые реальными практическими условиями. В данный момент готово MVP. Открывать систему можно как с компьютера, так и с телефонов, верстка адаптивная.

Реализация

Главная страница

На главной странице - сводка, в виде карточек представлена краткая актуальная информация. Одна карточка - один класс. На карточке цифра и буква класса, отсутствующие за сегодня и за вчера, кнопка дополнить и кнопка подробнее.

Таблицы

Два вида таблиц на отдельных страницах - за класс и за день. В таблице за класс отображаются отсутствующие в каждый конкретный день в выбранном классе, в таблице за день - отсутствующие в каждом классе за выбранный день.

Таблица за класс

Показывает список отсутствующих в классе за последние 50 дней
Открывается при нажатии кнопки подробнее на карточке класса на главной странице

Таблица за день

Показывает сводку отсутствующих во всех классах за день
Ссылка находится в шапке главной страницы

Страница отсутствующих

На странице заполнения отсутствующих - буква и номер класса, дата, список учеников. При нажатии на строчку с учеником он отмечается как отсутствующий, после выбора всех необходимо подтвердить отправку зеленой кнопкой внизу.
Кнопка Очистить просто снимает весь выбор на клиенте, никаких изменений в базе не происходит.
При смене даты автоматически отмечаются выбранные ранее ученики, если информация уже вносилась.
Страница открывается при нажатии кнопки дополнить/заполнить на карточке класса на главной.
Кстати, при переходе по ссылке заполнить сразу открывается вчерашний или сегодняшний день, в зависимости от местонахождения кнопки.

Аккаунты

Доступ к системе только с аккаунтами, так что существует ещё и страница авторизации.
Существует 3 типа аккаунтов:

Админ - может смотреть все классы, таблицы и всё редактировать thecattest / superpass

Редактор - может смотреть и редактировать только один класс, который ему открыт editor / editor

Руководитель - смотрит всё, трогать ничего нельзя viewer / viewer

Технологии

Серверная часть написана на Python3.6 с использованием следующих библиотек:

  • Flask + Flask_RESTful
  • SQLAlchemy
  • PyMySQL для подключения к базе данных MySQL

База данных

MySQL на отдельном сервере, в проекте используется ORM SQLAlchemy.

Фронт

  • HTML5
  • CSS3 + Bootstrap
  • Vue.js + Axios

Сервер одновременно отвечает на запросы к api, обработчики которых вынесены в отдельный blueprint, и сервит html страницы.
На страницах динамически подгружается актуальная информация посредством Axios, за отрисовку элементов и взаимодействие отвечает Vue.js.

About

WEB-система для контроля отсутствующих в школе с удобным интерфейсом для телефона и компьютера, пользователями, ролями и табличками

Resources

Stars

Watchers

Forks