docs/architecture/nodejs/README.md
2023-01-03 12:08:58 +03:00

70 lines
4.7 KiB
Markdown
Raw Permalink 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.

# Архитектура сервиса/микросервиса на NodeJS
## Основа:
```
├── .husky - Директория для git скриптов
├── deployments - Директория для деплоя сервиса
├── docs - Директория с документация
├── src - Директория с кодом проекта
├── .commitlintrc.json - Файл настройки для проверки формата коммитов
├── .eslintignore - Файл для перечисления игнорирования линтера
├── .eslintrc - Файл настройки линтера
├── .gitignore - Файл для перечисления игнорирования гита
├── .gitlab-ci.yml - Файл настройки Gitlab CI
├── .prettierrc - Файл настройки форматтера Prettier
├── Dockerfile - Файл контейнеризации сервиса
├── jest.config.js - Файл настройки Jest фреймворка для написания тестов
├── nodemon.json - Файл настройки nodemon'а
├── package.json - Файл настройки проекта
├── README.md - Общий файл документации (путеводитель)
├── tsconfig.json - Файл настройки typescript'а
├── yarn.lock - Файл хранения закреплённых версий загруженных пакетов
```
## Структура `/.husky`:
```
├── _ - Сгенерированные git скрипты
├── commit-msg - Настройки скрипта для проверки формата коммита
├── pre-commit - Настройки скрипта для выполнения других скриптов перед коммитом
```
## Структура `/docs`:
```
├── [group] - Группа документации
│ ├── README.md - Файл документации
```
## Структура `/src`:
```
├── configuration - Директория с модулями для конфигурации сервиса
├── constans - Директория констант
├── __tests__ - Директория тестов
│ ├── [group] - Группа тестов
│ │ ├── [name].test.ts - Файл тестов
├── __mocks__ - Директория моков
│ ├── [name].mocks.ts - Файл моков
│ handlers - Директория обработчиков
│ ├── [group] - Группа обработчиков
│ │ ├── helpers.ts - Различные функции/утилиты для обработчиков
│ │ ├── index.ts - Обработчики
│ │ ├── middleware.ts - Промежуточные обработчики
│ │ ├── types.ts - Все типы и структуры данных, которые касаются только обработчиков этой группы
├── models - Все модели MondoDB/PostgreSQL
│ ├── [name].model.ts - Файл модели данных
├── routes - Директория для роутов, которые по определённому пути назначают обработчик
│ ├── [group].routes.ts - Файл роутов
├── server - Директория с утилитами основного серверного модуля для запуска и работы сервиса
├── swagger - Схема для валидации и генерации документации роутов
├── types - Все типы и структуры данных, которые могут использоватся несколькими модулями
│ ├── [group] - Группа структур данных и типов
│ │ ├── [name].type.ts - Тип / структура данных
│ ├── [name].type.ts - Тип / структура данных
├── utils - Различные утилиты/функции, которые могут использоваться несколькими модулями
│ ├── [name].util.ts - Утилита
├── index.ts - Точка входа программы
```