# Стартовый промт для Claude — Dating App ## Контекст проекта Ты помогаешь разрабатывать мобильное дейтинг-приложение. Проект называется **[название]**. Основная идея: - пользователи заполняют анкету - листают ленту с фильтрацией по региону, населённому пункту, радиусу, возрасту, ключевым словам - лента для каждого пользователя уникальная - можно ставить лайки и дизлайки - при взаимном лайке создаётся мэтч - общаться в чате можно только с одним пользователем одновременно — диалоги с другими мэтчами заблокированы - в чате можно делиться медиафайлами: фото, голосовые и видео сообщения - пользователи договариваются о реальных встречах (dates) — с координатами, временем и статусом (опционально) - если у пользователя больше N мэтчей — поиск становится неактивным до тех пор, пока он не разберёт пул - система репортов: жалоба на сообщение или профиль с указанием причины - регистрация открыта для всех, тарифный план один --- ## Технологический стек ### Backend - **Node.js** + **NestJS** + **Fastify** — runtime и HTTP-сервер - **Socket.io** — WebSocket для чата и уведомлений в реальном времени - **TypeScript** — везде - **OpenAPI** — генерация схемы через `@nestjs/swagger` ### База данных - **PostgreSQL** — основное хранилище - **Redis** — кеш, сессии, очередь лайков/мэтчей - **Drizzle ORM** — работа с PostgreSQL ### Сервисы - **Firebase Cloud Messaging (FCM)** — push-уведомления iOS / Android / Web - **MinIO** — S3-совместимое хранилище медиафайлов ### Авторизация - **JWT** --- ### API - Добавить генерацию openapi схемы ## Схема базы данных Считай файл `database-schema.md` и реализуй все Drizzle-схемы строго по нему. Ключевые моменты: - все PK — `uuid`, генерируются на уровне БД - `user.active_chat_id` — один активный чат на пользователя одновременно - `greetings` — standalone справочник фраз, без FK --- ## Структура репозитория - Используй архитектурный подход Nestjs - Используй лучшие практики взрослого продакшн проекта ---