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