Files
dating-app-backend/starter-prompt.md
2026-06-02 15:52:22 +03:00

62 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Стартовый промт для 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
- Используй лучшие практики взрослого продакшн проекта
---