3.1 KiB
3.1 KiB
Стартовый промт для 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
- Используй лучшие практики взрослого продакшн проекта