Files
image-list-backend/CLAUDE.md
vigdorov 9d2d30e991
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
migrate ci and postgress
2026-02-08 20:09:53 +03:00

58 lines
2.0 KiB
Markdown
Raw 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.

# Image List Backend
Учебный backend-проект — упрощенный Instagram для обучения студентов.
## Назначение
REST API для работы с изображениями. Используется как практический проект при обучении backend-разработке на NestJS.
## Стек
- **Framework:** NestJS 11
- **Language:** TypeScript
- **Runtime:** Node.js
- **Database:** PostgreSQL (shared-db) + TypeORM
- **CI/CD:** Drone CI + ci-templates
## Структура
```
src/
├── main.ts # Точка входа
├── app.module.ts # Корневой модуль (ConfigModule + TypeORM)
├── app.controller.ts # REST контроллер
├── app.service.ts # Бизнес-логика (TypeORM Repository)
├── entities/
│ ├── author.entity.ts # Entity: authors
│ └── image.entity.ts # Entity: images
├── health/
│ ├── health.module.ts # Health check модуль
│ └── health.controller.ts # GET /health
├── schemas.ts # Swagger DTO
├── types.ts # TypeScript типы
├── consts.ts # Константы
└── api.responses.ts # Форматы ответов API
```
## Команды
```bash
npm install # Установка зависимостей
npm run start:dev # Запуск в dev режиме
npm run build # Сборка
npm run start:prod # Production запуск
```
## Деплой
- **CI/CD:** Drone CI через ci-templates (service.yaml + .drone.yml)
- **Namespace:** backend-for-learning
- **URL:** https://image-list.vigdorov.ru
- **Health:** GET /health
## Локальная разработка
Переменные окружения в `.env.local`:
- `DATABASE_HOST` — хост PostgreSQL (localhost для dev через NodePort :30432)
- `DATABASE_PORT`, `DATABASE_USER`, `DATABASE_PASSWORD`, `DATABASE_NAME`