Платформа для репетиторов на базе Telegram. Включает бота для управления учениками, занятиями и домашними заданиями, а также Telegram Mini App для учеников.
Для репетитора (через бота):
- Управление учениками: профили, расписание, история занятий
- Отметка оплаты и статуса занятия
- Домашние задания с прикреплением фото
- Просмотр должников и изменений профилей учеников
- Автоматические уведомления ученикам (за 3 часа до занятия, за 5 минут до конца)
Для ученика (через Mini App):
- Расписание предстоящих занятий
- Просмотр домашних заданий с фото
- История занятий и оплат
- Изменение профиля (имя, класс, направление — раз в неделю)
Архитектура:
- Multi-tenant: один деплой поддерживает несколько репетиторов, каждый со своим ботом и отдельной БД
- Автогенерация занятий по расписанию
- Деплой через systemd для стабильной работы на VPS
- Секреты хранятся вне репозитория через
.envфайлы. - Для каждого репетитора используется изолированная конфигурация и отдельная база данных.
- Доступ репетитора ограничен Telegram ID.
- Процессы управляются через systemd на VPS.
- Логи доступны через
journalctlдля отладки и базового мониторинга. - Чувствительные файлы (токены ботов, SQLite базы) исключены из Git.
| Компонент | Технологии |
|---|---|
| Бот | Python, aiogram 3, APScheduler, SQLite |
| Backend Mini App | FastAPI, aiosqlite |
| Frontend Mini App | React, TypeScript, Vite |
.
├── bot_template/
├── tutors/
├── miniapp/
├── deploy_bot.py
├── create_systemd_services.py
└── run_all_bots.py
git clone https://github.com/Palma4kaS/tutor-tg-bot.git
cd tutor-tg-bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtpython3 deploy_bot.pycd miniapp/backend
uvicorn main:app --host 0.0.0.0 --port 8000cd miniapp/frontend
npm install
npm run dev