Konstructorium: формальная документация¶
Данный сайт фиксирует полную техническую, эксплуатационную и организационную документацию платформы Konstructorium.
Нормативные принципы¶
- Документация описывает фактическое поведение кода и конфигурации, а не намерения.
- Для каждого сервиса используются единые разделы: контекст, API, данные, безопасность, эксплуатация, риски.
- Все межсервисные связи фиксируются на двух уровнях: HTTP-интеграции и shared-model/shared-DB связность.
- Для критичных сценариев предоставляются диаграммы
C4,sequence,state,ER. - Документация поддерживается как часть CI через строгую сборку MkDocs.
Состав платформы¶
- Прикладные сервисы:
auth_service,user_service,product_service,order_service,review_service,admin_service,chat_service,analytics_service,telegram_bot_service. - Инфраструктура:
PostgreSQL,Redis, Docker Compose окружение. - Тестовый контур: smoke API tests в CI.
Карта чтения¶
- Master-документация проекта — единый верхнеуровневый источник правил, ролей, CI/CD, рисков и MVP-path.
- Раздел
Архитектура— для общего понимания системы и интеграций. - Раздел
Сервисы— для детального контракта каждого компонента. - Раздел
Инфраструктура— для deployment, env-модели и зависимостей. - Разделы
ОперациииGovernance— для эксплуатации, QA и управляемых изменений. - Раздел Юридическая документация (РФ) — пользовательские тексты, cookie/аналитика, согласия в коде (обзор, для разработчиков).
- Раздел
Операции→ Веб-аналитика — сбор статистики, админ-отчёты, проверки для контрибьюторов. - Раздел
Справочник— для миграции wiki, глоссария, каталога ошибок и матриц.
Глобальная схема¶
flowchart TB
webClient["WebClient"] --> authService["auth_service"]
webClient --> userService["user_service"]
webClient --> productService["product_service"]
webClient --> orderService["order_service"]
webClient --> reviewService["review_service"]
webClient --> chatService["chat_service"]
webClient --> analyticsSvc["analytics_service"]
adminClient["AdminClient"] --> adminService["admin_service"]
adminClient --> analyticsSvc
telegramClient["Telegram"] --> telegramBot["telegram_bot_service"]
telegramBot --> orderService
telegramBot --> productService
authService --> postgresDb["PostgreSQL"]
userService --> postgresDb
productService --> postgresDb
orderService --> postgresDb
reviewService --> postgresDb
chatService --> postgresDb
analyticsSvc --> postgresDb
adminService --> postgresDb
orderService --> redisNode["Redis"]
orderCelery["order_celery"] --> redisNode