Frontend репозиторий: github.com/calorielly
- В процессе разработки принципиально не применялись AI-инструменты
- NestJS 11 (модульная архитектура:
AuthModule,UsersModule,PrismaModule), глобальная конфигурация через@nestjs/config - ORM и данные: Prisma 6 + SQLite; файл БД вынесен в
external-db/app.sqlite(удобно для бэкапов/разделения окружений), миграции вprisma/migrations, включеныPRAGMA journal_mode=WALиforeign_keys - Аутентификация и безопасность: JWT (
@nestjs/jwt+passport-jwt), хеширование паролей через Argon2id (argon2), нормализация телефона, обработка ошибок через стандартныеHttpException - Валидация ввода: DTO на
class-validator/class-transformer+ глобальныйValidationPipe(whitelist,transform) - API эндпоинты:
POST /auth/register,POST /auth/login; защищённыеGET|PATCH /users/me/calorie-limit(JWT Guard) <<<<<<< HEAD - Конфигурация и окружения: переменные
.env(DATABASE_URL,JWT_ACCESS_SECRET,JWT_ACCESS_EXPIRES); генерация.envиз.env.example(npm run genEnv:dev—~/external-db/app.sqlite,npm run genEnv:prod—../external-db/app.sqliteотносительно папки проекта) - Процессы и деплой: PM2 (
ecosystem.config.js), разделение .env для dev/prod, zero‑downtime рестарты;start:prodнаdist/main.js======= - Конфигурация и окружения: переменные
.env(DATABASE_URL,JWT_ACCESS_SECRET,JWT_ACCESS_EXPIRES), генерация.envиз.env.example(npm run genEnv) - Процессы и деплой: PM2 (
ecosystem.config.js), разделение env для dev/prod, zero‑downtime рестарты;start:prodнаdist/main.js
parent of 9bdeb1f (genEnv upd)
Copyright © 2025 Dima Martynov.
Этот проект находится под лицензией MIT.