85 lines
2.6 KiB
Markdown
85 lines
2.6 KiB
Markdown
# Инструкции для 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.
|
||
|