это всякая обобщенная документация. тут есть много ненужного, но есть и полезные моменты
Go to file
2023-10-31 22:43:49 +00:00
architecture docs: mocks position & worker mocks 2023-06-19 23:21:00 +03:00
commands/nodejs docs: nodejs commands 2023-01-10 12:19:48 +03:00
concepts efat add some more description to account section 2023-10-21 15:22:39 +03:00
environment docs: env 2023-01-10 10:46:09 +03:00
swagger docs: swagger 2023-01-10 11:13:56 +03:00
README.md Update README.md 2023-10-31 22:43:49 +00:00

Общая документация по сервисам / микросервисам

Документация так же имеется в формате Wiki

Архитектура:

Переменные окружения:

Swagger:

Комманды:

Развёртывание:

Подробно о развёртывании можно почитать тут

....
@startuml
!include C4_Context.puml

title Связи между компонентами PenaHUB

Person(marketplaceFront, "Marketplace", "Платформа, на которой пользователь приобретает подписки на наши сервисы")
Person(adminFront, "Admin", "Админка. Техподдержка, статистика, настройки")
Person(amoTemplategenFront, "AmoTemplategen", "Интеграция с amocrm. Позволяет шаблонизировать docx")
Person(servicesLanding, "Landing", "Лендинг с формой обратной связи")
Person(squizFront, "Squiz", "Фронт генератора опросов")
Person(metricaFront, "Metrica", "Фронт сервиса настройки сборщика метрик телеграм ботов")

System(authService, "AuthService", "Авторизация, Регистрация, Обновление токена, Изменение пароля")
System(customerService, "Customer", "Аккаунт клиента, Кошелёк, Корзина, Оплата, Покупка тарифов")
System(discountService, "Discount", "Создание скидок, Вычисление стоимости корзины")
System(adminBackend, "AdminBackend", "Создание тарифов, Роли, Привилегии, Допуски")
System(socialAuthService, "SocialAuth", "Авторизация через сторонние сервисы")
System(cbrfWorker, "CBRF", "Хранение котировок валют по ЦБ и конвертация валюты")
System(heryvym, "Heruvym", "Техподдержка")
System(trashlog, "Trashlog", "Логпомойка поверх Clickhouse")
System(treasurer, "Treasurer", "Платёжки, Генерация платёжной ссылки и колбеки на изменение статуса платежа")
System(feedbackSvc, "feedbackService", "Получить данные с формы и отправить их в телеграм канал")
System(verification, "VerificationService", "Сохранение верификационных документов и подтверждение статуса верификации пользователя")
System(templategenService, "templategenService", "Продуктовый сервис шаблонизации docx")
System(templategenWorker, "templategenWorker", "Воркер, выполняющий шаблонизацию документа")
System(squizService, "SquizService", "Продуктовый сервис опросника")
System(squizStorer, "squizStorer", "Сервис сохранения файлов кастомизации опроса")
System(squizAnswerer, "squizAnswerer", "Выдача опросов и сохранение результатов")
System(penaDisk, "penaDisk", "Промежуточный сервис хранения файлов пользователей")
System(metricaService, "metricaService", "Продуктовый сервис сбора статистики телеграм ботов")
System(sink, "sink", "Сервис сохранения логов телеграм ботов")

System_Ext(mail_system, "smtp.biz", "")
System_Ext(amocrm, "Amocrm", "")
System_Ext(cbrf, "ЦБРФ", "")
System_Ext(yookasa, "Yookassa", "")
System_Ext(s3, "YandexS3", "")
System_Ext(bot, "ClientBot", "")

Rel(treasurer, yookasa, "получение платёжной ссылки")
Rel(cbrfWorker, cbrf, "курс валют")
Rel_Back(yookasa, treasurer, "Вебхук оплаты")
Rel(templategenService, mail_system, "Отправка акта")
Rel_Back(templategenService, amocrm, "создание аккаунта")
Rel(templategenWorker, amocrm, "Данные для шаблонизации")
Rel(templategenWorker, penaDisk, "Сохранение результатов")
Rel(penaDisk, templategenWorker, "Получение шаблона")
Rel(templategenService, penaDisk, "Сохранение шаблона")
Rel(penaDisk, s3, "Сохранение файла")
Rel_Back(penaDisk, s3, "Получение файла")
Rel_Back(sink, bot, "Передача логов")
Rel(sink, trashlog, "Сохранение логов в помойку")
Rel(squizStorer, s3, "Сохранение файла кастомизации")
Rel(squizAnswerer, trashlog, "Сохранение ответов в помойку")
Rel(verification, s3, "Сохранение файлов верификации")
Rel(customerService, treasurer, "Запрос платёжной ссылки")
Rel(treasurer, customerService, "Пополнение кошелька, запись в историю")
Rel(customerService, cbrfWorker, "Пересчёт кошелька пользователя, вычисление стоимости корзины в нужной валюте")
Rel_Neighbor(socialAuthService, authService, "Создание модели входа для пользователя внешней системы")
Rel_Back(adminBackend, customerService, "Список тарифов и привилегий")
Rel(templategenService, adminBackend, "Публикация привилегий")
Rel(templategenService, customerService, "Запись в историю о окончании привилегии")
Rel(customerService, discountService, "Вычисление стоимости корзины")
Rel(customerService, verification, "Получение данных верификации")
Rel(customerService, authService, "email для отправки акта")
Rel(customerService, templategenService, "запрос шаблонизации акта проделанных работ")

Rel(servicesLanding, feedbackSvc, "")
Rel(servicesLanding, heryvym, "")

Rel(metricaFront, metricaService, "")
Rel(metricaFront, authService, "")
Rel(metricaFront, heryvym, "")

Rel(squizFront, squizService, "")
Rel(squizFront, squizStorer, "")
Rel(squizFront, squizAnswerer, "")
Rel(squizFront, authService, "")
Rel(squizFront, heryvym, "")

Rel(amoTemplategenFront, templategenService, "")
Rel(amoTemplategenFront, heryvym, "")

Rel(adminFront, adminBackend, "")
Rel(adminFront, discountService, "")
Rel(adminFront, customerService, "")
Rel(adminFront, authService, "")
Rel(adminFront, heryvym, "")
Rel(adminFront, verification, "")
Rel(adminFront, templategenService, "")
Rel(adminFront, squizService, "")
Rel(adminFront, penaDisk, "")
Rel(adminFront, sink, "")

Rel(marketplaceFront, adminBackend, "")
Rel(marketplaceFront, discountService, "")
Rel(marketplaceFront, customerService, "")
Rel(marketplaceFront, authService, "")
Rel(marketplaceFront, heryvym, "")
Rel(marketplaceFront, verification, "")
Rel(marketplaceFront, socialAuthService, "")
Rel(marketplaceFront, penaDisk, "")
@enduml
....