1
0
Fork 0
mirror of https://github.com/EDeev/tablo.git synced 2026-10-07 20:49:31 +03:00
Веб-приложение для студентов: расписание по фото с помощью ИИ, трекеры успеваемости и доступ по ссылке. Flask + PostgreSQL https://tablo.deev.su
Find a file
2026-05-25 13:14:36 +03:00
app Upd Add export / Fix bugs 2026-05-25 12:48:41 +03:00
migrations Full Project 2026-05-19 13:49:09 +03:00
.env.example Full Project 2026-05-19 13:49:09 +03:00
explanatory_note.pdf Explanatory note 2026-05-25 13:14:36 +03:00
README.md Upd README 2026-05-19 13:52:13 +03:00
requirements.txt Upd Add export / Fix bugs 2026-05-25 12:48:41 +03:00
run.py Full Project 2026-05-19 13:49:09 +03:00

Tablo

Веб-приложение для работы с учебным расписанием: распознавание расписания из изображения с помощью ИИ, персональные трекеры успеваемости и совместный доступ по ссылке.

Сайт: tablo.deev.su

Функциональность

  • Загрузка фотографии или скана расписания и автоматическое извлечение структурированных данных через AI Vision API
  • Полный CRUD для расписаний, предметов и слотов занятий
  • 11 типов виджетов трекеров успеваемости (посещаемость, оценки, дедлайны, серии дней и др.)
  • Дашборд с перетаскиваемыми виджетами на сетке 12 колонок
  • Совместный доступ по токен-ссылке с тремя режимами: просмотр, редактирование, клонирование как шаблон
  • Объединение нескольких расписаний с разрешением конфликтов по предметам

Технологический стек

  • Backend: Python, Flask, SQLAlchemy, Flask-Migrate, Flask-Login
  • База данных: PostgreSQL (JSONB для хранения структуры расписания)
  • ИИ: Gemini 3.1 Flash через OpenAI-совместимый API (Timeweb Cloud AI)
  • Frontend: Jinja2, Bootstrap 5.3, Vanilla JS, Fetch API

Установка

Требования: Python 3.11+, PostgreSQL

git clone https://github.com/EDeev/tablo.git
cd tablo
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # Linux/macOS
pip install -r requirements.txt

Заполните файл .env в корне проекта

Примените миграции и запустите приложение:

flask db upgrade
python run.py

Приложение будет доступно по адресу http://localhost:5000.

Структура проекта

tablo/
├── app/
│   ├── models/       # Модели SQLAlchemy
│   ├── routes/       # Блюпринты (auth, schedules, subjects, shares)
│   ├── services/     # Бизнес-логика (AI-распознавание, AI-генерация метрик)
│   └── templates/    # HTML-шаблоны Jinja2
├── migrations/       # Файлы миграций Flask-Migrate
├── requirements.txt
└── run.py

Лицензия

Этот проект является некоммерческим и распространяется под лицензией MIT.

Автор

Деев Егор Викторович - Backend Developer


⭐ Если проект оказался полезным, поставьте звездочку на GitHub!

Создано с ❤️ от вашего дорогого - deev.space ©