mirror of
https://github.com/EDeev/tablo.git
synced 2026-10-07 20:49:31 +03:00
Веб-приложение для студентов: расписание по фото с помощью ИИ, трекеры успеваемости и доступ по ссылке. Flask + PostgreSQL
https://tablo.deev.su
| app | ||
| migrations | ||
| .env.example | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
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: @EDeev
- Email: egor@deev.space
- Telegram: @Egor_Deev
⭐ Если проект оказался полезным, поставьте звездочку на GitHub!
Создано с ❤️ от вашего дорогого - deev.space ©