Skip to content

tunaeng/TutorAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TutorAI - Административная панель для бота TutorAI

Backend система и административная панель для управления Базой данных Telegram бота TutorAI. Позволяет управлять образовательным контентом, студентами, расписанием и данными курсов.

Ключевые возможности

  • Управление студентами - добавление, редактирование, отслеживание статуса
  • Программы и модули - создание образовательных программ и курсов
  • Материалы курса - управление учебными материалами с поддержкой файлов
  • Расписание - планирование занятий и событий
  • Прогресс студентов - отслеживание выполнения модулей и тем
  • Тестирование - управление тестами и результатами
  • История сообщений - просмотр переписки с ботом
  • Лимиты запросов - контроль использования бота
  • Воронка регистрации - этапы регистрации и заявки консультанта
  • Реестр - актуальные записи внешнего реестра обучения

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

  • FastAPI - современный веб-фреймворк с автоматической документацией
  • SQLAlchemy 2.0 - ORM с асинхронной поддержкой
  • PostgreSQL - реляционная база данных
  • SQLAdmin - админ панель с русским интерфейсом
  • asyncpg - асинхронный драйвер PostgreSQL
  • Pydantic - валидация данных

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

TutorAI/
├── app/                          # Основное приложение
│   ├── main.py                   # Точка входа FastAPI
│   ├── core/                     # Ядро приложения
│   │   ├── config.py            # Конфигурация
│   │   └── database.py          # Настройка БД
│   ├── models/                   # Модели данных
│   │   └── education.py         # SQLAlchemy модели
│   └── admin/                    # Админ панель
│       └── views.py             # Настройка админки
├── alembic/                     # Миграции БД (опционально)
├── requirements.txt             # Зависимости Python
└── README.md                    # Документация

Быстрый старт

Требования

  • Python 3.8+ (рекомендуется 3.11+)
  • PostgreSQL база данных (локальная или облачная)

Установка

  1. Клонируйте репозиторий:

    git clone <repository-url>
    cd TutorAI
  2. Установите зависимости:

    pip install -r requirements.txt
  3. Настройте переменные окружения:

    Создайте файл .env в корне проекта:

    # Database
    DATABASE_URL=postgresql+asyncpg://user:password@host:port/database
    
    # Admin Authentication
    ADMIN_USERNAME=admin
    ADMIN_PASSWORD=your_secure_password
    SECRET_KEY=your_secret_key_here
    
    # App Settings
    PROJECT_NAME=TutorAI Admin
    DEBUG=true
  4. Запустите сервер:

    uvicorn app.main:app --reload
  5. Откройте админ-панель:

Структура базы данных

Основные таблицы

Таблица Описание
programs Образовательные программы
students Студенты с Telegram интеграцией
course_modules Модули курса
topics Темы/уроки внутри модулей
course_materials Материалы курса (файлы, контент)
student_module_progress Прогресс студентов по модулям
messages История сообщений с ботом
rate_limits Лимиты запросов студентов
schedule_items Расписание занятий
attestation_tests Тесты для аттестации
test_results Результаты тестов студентов
feedback Отзывы студентов
registration_progress Прогресс регистрации (воронка)
consultant_requests Заявки консультанта (чат / звонок)

Админ панель

После запуска доступна по адресу http://localhost:8000/admin

Разделы админки:

  • Студенты - управление студентами и их данными
  • Программы - образовательные программы
  • Модули - разделы курсов с распределением часов
  • Темы - темы уроков с типами занятий
  • Материалы - учебные материалы с файлами
  • Прогресс - отслеживание прогресса студентов
  • Сообщения - история переписки (только просмотр)
  • Лимиты - контроль использования бота
  • Расписание - планирование занятий
  • Тесты - управление тестами
  • Результаты - результаты тестирования
  • Отзывы - оценки и комментарии
  • Регистрация (воронка) - этапы регистрации на платформе
  • Заявки консультанта - вопросы и заявки на звонок

API документация

После запуска приложения доступна автоматическая документация:

Разработка

Запуск в режиме разработки

uvicorn app.main:app --reload --log-level debug

Остановка uvicorn (Windows)

Get-Process | Where-Object {$_.ProcessName -eq "python" -and $_.CommandLine -like "*uvicorn*"} | Stop-Process -Force

Работа с базой данных

Приложение автоматически подключается к PostgreSQL через DATABASE_URL из .env.

Для работы с миграциями (опционально):

# Создать миграцию
alembic revision --autogenerate -m "Description"

# Применить миграции
alembic upgrade head

Безопасность

⚠️ Важно для production:

  1. Измените ADMIN_PASSWORD на надежный пароль
  2. Установите сложный SECRET_KEY
  3. Установите DEBUG=false
  4. Используйте HTTPS
  5. Настройте файрвол для доступа к БД

Лицензия

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors