docs-monorepo

Monorepo with document storage services on nest.js with apps: rest-api, grpc-api, worker, kafka-consumer

Stars
1
Committers
1

Docs-monorepo

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

.
├── Makefile                - Файл директив Make
├── README.md               - Этот документ
├── .env                    - Файл окружения инфраструктуры проекта 
├── app.env                 - Файл окружения исполнения логики проекта
├── docker-compose.yaml     - Файл-конфигурация Docker Compose
├── env.d                   - Директория файлов инфраструктурного обеспечения проекта 
│   ├── charts.d            - Директория Helm-чартов
│   ├── conf.d              - Директория различных файлов конфигурации
│   ├── docker.d            - Директория конфигурации Docker и сопутствующих файлов
│   ├── dotenv.d            - Директория файлов Dotenv
│   └── mk.d                - Директория фалов-компонент директив Make
├── 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. Подготовка к запуску

Окружение запуска должно быть *nix-совместимым (т.е. должно обладать терминалом и *nix-окружением).

Нативными окружениями являются любые Linux-дистрибутивы и macOS.

На Windows, необходимо установить WSL и работать в окружении WSL.

1.1. Dotenv

Локально, проект конфигурируется двумя файлами в нотации Dotenv - инфраструктурным и проектным. Для запуска проекта, необходимо скопировать шаблоны файлов в корень проекта, и заполнить значения внутри:

make prepare_project

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

2. Сборка

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

make build_clean

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

3. Запуск

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

make up

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

Related Projects