Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anatoly-semenov/nestjs-template

Template for creating Nest.js app
https://github.com/anatoly-semenov/nestjs-template

docker grpc http nestjs swc template

Last synced: 3 months ago
JSON representation

Template for creating Nest.js app

Awesome Lists containing this project

README

        

# Шаблон прокта на Nest.js

Структура директорий проекта с описанием:

```text
.
├── README.md - Этот документ
├── .env - Файл окружения инфраструктуры проекта
├── app.env - Файл окружения исполнения логики проекта
├── docker-compose.yaml - Файл-конфигурация Docker Compose
├── nest-cli.json - Файл конфигурации Nest CLI
├── node_modules - Директория пакетов NPM
├── package.json - Файл-описание Node-проекта
├── src - Исходный код проекта
│ ├── bootstrap - Конфигурирование проекта
│ ├── common - Общие модули для доменов (авторизация, конфиг и тп.)
│ ├── domains - Домены (в доменах могут быть еще домены)
│ │ ├── domain_name - Название домена
│ │ │ ├── controllers - Контроллеры
│ │ │ ├── dto - Data Transfer Object
│ │ │ │ └── v1 - Версия интерфейса
│ │ │ └── services - Бизнес логика
│ ├── providers - Провайдеры модулей
│ └── shared - Константы, декораторы, интерфейсы, схемы БД
├── test - Unit и интеграционные тесты
├── tsconfig.build.json - Файл-расширение параметров сборки Typescript
├── tsconfig.json - Основной файл конфигурации Typescript
└── yarn.lock - Файл-журнал версий установленных зависимостей

```

# 1. Конфигурирование

Необходимо открыть файлы `app.env` и `.env`, и вставить значения переменных окружения

# 2. Сборка

Далее, следует произвести сборку образов проекта:

```bash
make build_clean
```

По результатам сборки, в консоли не должно быть ни одной красной или
желтой строки (т.е. не должно быть ошибок и предупреждений сборки)

# 3. Запуск

После сборки, остаётся лишь запустить проект:

```bash
make up
```

После выполнения команды, в консоли будут зеленые строки-статус запуска,
а в интерфейсе Docker for Desktop будут отображаться все контейнеры проекта,
описанные в `docker-compose.yaml`