Files
2025-12-13 14:39:50 +03:00

85 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкции для Claude AI
## Контекст проекта
Backend API для проекта "Новая Планета" - визуальное расписание для детей с расстройством аутистического спектра (РАС).
## Архитектура
- **FastAPI** - async веб-фреймворк
- **SQLAlchemy 2.0** - async ORM
- **PostgreSQL** - основная БД
- **Redis** - кэширование
- **GigaChat API** - ИИ-агент
## Структура проекта
```
app/
├── api/v1/ # API endpoints
├── core/ # Конфигурация, security, logging
├── crud/ # CRUD операции
├── db/ # Настройка БД
├── middleware/ # Middleware (CORS, auth, rate limit)
├── models/ # SQLAlchemy модели
├── schemas/ # Pydantic схемы
├── services/ # Бизнес-логика
└── utils/ # Утилиты
```
## Основные компоненты
### Модели
- `User` - пользователи (CHILD, PARENT, EDUCATOR)
- `Schedule` - расписания
- `Task` - задачи в расписании
- `Reward` - награды
- `AIConversation` - история чата с ИИ
### Сервисы
- `AuthService` - аутентификация (JWT)
- `GigaChatService` - интеграция с GigaChat
- `ChatService` - чат с ИИ-агентом
- `ScheduleGenerator` - генерация расписаний через ИИ
- `StorageService` - загрузка изображений (MinIO/S3)
- `CacheService` - кэширование (Redis)
### API Endpoints
- `/api/v1/auth/*` - аутентификация
- `/api/v1/schedules/*` - расписания
- `/api/v1/tasks/*` - задачи
- `/api/v1/rewards/*` - награды
- `/api/v1/ai/*` - ИИ функции
- `/api/v1/images/*` - изображения
- `/api/v1/ws/*` - WebSocket
## Конфигурация
Все настройки в `app/core/config.py` через Pydantic Settings.
Переменные окружения из `.env`.
## БД
- Миграции: `alembic upgrade head`
- Async SQLAlchemy 2.0
- UUID как primary keys
## Стиль кода
- Type hints везде
- Async/await для всех I/O операций
- Pydantic для валидации
- FastAPI dependency injection
## Тестирование
```bash
pytest tests/ -v
```
## Деплой
Docker Compose для локальной разработки.
Production: Docker + Nginx reverse proxy.