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.
|
|
|