-
Notifications
You must be signed in to change notification settings - Fork 10
Описание структуры проекта
EvgeniiMal edited this page Feb 24, 2021
·
2 revisions
-
bin - каталог содержащий файл запуска приложения
-
common - каталог содержит общие для всех модулей файлы приложения
-
db - содержит файлы подключения БД
- mongodb.js - файл отвечающий за подключение к mongodb
-
errors - содержит файлы реализующие логику обработки ошибок в приложении:
- async-error-wrapper.js - обёртка позволяющая перехватывать ошибки в asynk/await роутах и передавать их обработчику ошибок.
- error-handler.js - файл отвечающий за логику обработки ошибок
- errors-list.js - файл содержащий кастомные классы ошибкок
-
logging - каталог содержащий файл логгера и относящиеся к нему файлы
- logger.js - файл логгера(в данном случае используется winston )
-
validation - каталог содержащий валидаторы уровня приложения и общие для всех модулей.
- objectID.validation.js - файл содержащий функцию проверки валидности objectId
-
config.js - файл конфигурации приложения. В данном случае содержит:
-
DEFAULT_LANG: 'en'
- язык локализации API по умолчанию -
DEV_PORT: 3000
- порт для локальной разработки -
MONGO_CONNECTION_STRING:process.env.MONGO_CONNECTION_STRING
- строка подключения к mongodb (в данном случае берётся из переменных среды)
-
-
db - содержит файлы подключения БД
-
docs - каталог содержащий документацию проекта ( в данном случае docs.yaml - swagger документацию проекта )
-
middleware - каталог содержащий функции промежуточной обработки:
- error-middleware.js - файл содержащий промежуточную функцию для обработки ошибок.
- request-logger.js - файл содержащий промежуточную функцию для логгирования запросов
-
modules -каталог содержащий модули приложения. Структура модулей:
- constants - файл содержаший константы уровня модуля
- router - файл роутера модуля
- schema - файл содержащий схему или схемы сущностей модуля
- service - файл содержащий логику работы приложения или обработки данных
-
app.js - основной файл express приложения