# Simple Storage Учебный backend-проект для обучения студентов основам NestJS. ## Назначение Простой REST API сервис для хранения данных. Используется как демонстрационный проект в рамках обучения backend-разработке. ## Стек - **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/ │ ├── user.entity.ts # Entity: users │ └── storage.entity.ts # Entity: storages ├── 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://simple-storage.vigdorov.ru - **Health:** GET /health ## Локальная разработка Переменные окружения в `.env.local`: - `DATABASE_HOST` — хост PostgreSQL (localhost для dev через NodePort :30432) - `DATABASE_PORT`, `DATABASE_USER`, `DATABASE_PASSWORD`, `DATABASE_NAME`