4.7 KiB
4.7 KiB
Архитектура сервиса/микросервиса на 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 - Точка входа программы