# Структура проекта

## Структура ПО:

* **./exchanger-api/plugins** - папка c плагинами для обменника
* **./exchanger-api/config** - папка c конфигурациями rest-api
* **./exchanger-admin-web/config** - папка c конфигурациями для клиентской части панели администратора
* **./exchanger-client-web/config** - папка c конфигурациями для клиентской части

## Сервисы

* **nginx** - сервис для быстрой и стабильной выдачи vue приложения, а также для proxy rest api и ws
* **mongodb** - сервис основная база данных проекта
* **redis** - сервис для оперативных данных, а также для уведомления других микро сервисов о новом событии;
* **nodejs** - сервис основная платформа

#### NodeJS сервисы:

* **(s) ex-api-http** -сервис предоставляет REST-API (основной сервис работает в cluster режиме);
* **(s) ex-ws** - сервис предоставляет WebSocket соединение с клиентами и админ-панелью, отвечающую за real-time действия;
* **(s) ex-parser-rate** - сервис анализирует курс в разных источниках, обрабатывает их и обновляет в базе данных;
* **(s) ex-cron** - сервис проверяет состояние сервера, считает количество посещений, производит очистку ненужных данных ;
* **(s) ex-payout-service** - сервис обрабатывает заявки, которые отмечены как оплаченные или готовы к выплате (если активен авто- или полуавтоматический обмен, и API платежных систем настроены);
* **(s) ex-modules-service** - сервис обрабатывает по крону задачи дополнительных модулей
* **(s) ex-notification-service** -сервис отправляет уведомления клиенту и администратору посредством электронной почты и распространенных мессенджеров;
* **(s) ex-logstash** - отправка логов в систему логирования  logstash [**elasticsearch**](https://www.elastic.co/what-is/elk-stack) \
  (по умолчанию логи отправляются разработчикам ПО BoxExchanger при необходимости можно [отключить отправку логов разработчикам](https://manual.boxexchanger.net/dlya-razrabotchikov/otpravka-logov-razrabotchikam))
* **(s) ex-blacklist-bc** - сервис сервис проверяет и обновляет состояние черного списка из сервиса bestchange.org
* **(s) ex-migrate** - сервис проверяет актуальность данных в базе и приводит их к единому стандарту;
* **(s) ex-seed** - сервис загружает основные данные в обменник;

#### &#x20;<a href="#user-content-struktura-failov" id="user-content-struktura-failov"></a>
