3.1 KiB
3.1 KiB
Новая Планета - Backend API
Backend API для мобильного приложения Новая Планета - визуальное расписание для детей с РАС.
🛠️ Tech Stack
- Python 3.11+
- FastAPI 0.109+
- PostgreSQL 15+ + Redis 7+
- SQLAlchemy 2.0+ (async)
- GigaChat API для ИИ-агента
- MinIO/S3 для хранения изображений
🚀 Быстрый старт
Требования
- Python 3.11+
- PostgreSQL 15+
- Redis 7+
- Docker (опционально)
Установка
- Клонируйте репозиторий
- Установите зависимости:
pip install -r requirements.txt
- Настройте
.env:
cp .env.example .env
# Отредактируйте .env с вашими настройками
- Запустите инфраструктуру (Docker):
docker-compose -f docker/docker-compose.yml up -d
- Примените миграции:
alembic upgrade head
- Запустите сервер:
uvicorn app.main:app --reload
API доступен на http://localhost:8000
Swagger UI: http://localhost:8000/docs
📡 API Endpoints
Authentication
POST /api/v1/auth/register- РегистрацияPOST /api/v1/auth/login- ВходPOST /api/v1/auth/refresh- Обновление токенаGET /api/v1/auth/me- Текущий пользователь
Schedules
GET /api/v1/schedules- Список расписанийPOST /api/v1/schedules- Создать расписаниеPOST /api/v1/schedules/generate- Сгенерировать через ИИGET /api/v1/schedules/{id}- Получить расписаниеPUT /api/v1/schedules/{id}- ОбновитьDELETE /api/v1/schedules/{id}- Удалить
Tasks
GET /api/v1/tasks/schedule/{schedule_id}- Задачи расписанияPOST /api/v1/tasks- Создать задачуPATCH /api/v1/tasks/{id}/complete- Отметить выполненной
AI
POST /api/v1/ai/chat- Чат с ИИ-агентомPOST /api/v1/ai/schedule/generate- Генерация расписания
Images
POST /api/v1/images/upload- Загрузить изображениеDELETE /api/v1/images/{key}- Удалить изображение
WebSocket
WS /api/v1/ws/chat- WebSocket чат с ИИ
🗄️ База данных
Используется PostgreSQL с async SQLAlchemy. Миграции через Alembic.
🤖 GigaChat Integration
Интеграция с GigaChat API для:
- Чат с ИИ-агентом "Планета Земля"
- Генерация расписаний
📚 Документация
- Swagger UI:
/docs - ReDoc:
/redoc
🔗 Связанные репозитории
- Frontend (Android) — new-planet-android
- AI Agents — new-planet-ai-agents