← ПроектыCRM · ERP · 2024–2026
DieAlltagsfeen
Целостная CRM/ERP-платформа для немецкой компании Die Alltagsfeen, заменившая связку из ~230 сценариев Make.com, 26 форм JotForm и нескольких досок Monday.com. На сегодня — 16 микросервисов, 38 репозиториев, 30+ HTTP-контроллеров, 49+ DbSet, 130+ permission-флагов, 17+ event consumers, собственный модуль учёта рабочего времени с экспортом в DATEV.
- 16 микросервисов, 38 репозиториев, 130+ permission-флагов, 17+ event consumers
- Двухэтапный алгоритм распределения: PostGIS + Google Maps + скоринг по 8 критериям (23 балла)
- NEW v9.0: ManagerTimeTrackerService с DATEV-экспортом — 8 контроллеров, 3 background services
- Двусторонняя GraphQL+webhook синхронизация с Monday.com, call-center на Cisco Webex
Vue.js 3C# / .NET 8PostgreSQLSignalRRabbitMQ

Задача
У клиента был тяжёлый «зоопарк» автоматизаций: ~230 сценариев Make.com (104 активных), 26 форм JotForm, 4 доски Monday (PMAN, Customers, Capacity, Payroll), шаблоны SuperChat для WhatsApp/SMS/Email. Связка работала, но была непрозрачна: ломалась при росте нагрузки, не давала тестировать изменения, не имела сквозной аналитики и аудита. Воркеры распределялись на клиентов вручную через таблицы; время и зарплата велись в нескольких системах. Бизнес упирался в потолок.
Что сделали
- Спроектировали микросервисную архитектуру на .NET 8 с шиной MassTransit, сквозной трассировкой CorrelationId и распределёнными логами в Dash0 через OpenTelemetry.
- 16 микросервисов: Core.BusinessLogicService (41+ DbSet, 22 контроллера), Core.UserManagementService, Features.CallCenterService (Cisco Webex), Features.ActivityHistoryService (17 event consumers), Features.DocumentGenerationService (9 типов шаблонов), Feature.MondayIntegrationService, Feature.LearningService (LMS + прокторинг), Feature.ManagerTimeTrackerService (учёт времени + DATEV).
- Каталог из 130+ permission-флагов по доменам: клиенты, контакты, очереди звонков, исполнители, страховые компании, партнёры, жалобы, отчёты, учёт времени, задачи, документы, теги, email, ставки, social services и Learning.
- Двухэтапный алгоритм распределения: MP3 (штатные) и MP4 (кандидаты). PostGIS-фильтр по радиусу (Walk/Bicycle/Car) + Google Maps Routes API для точного TimeArrive. Скоринг по 8 критериям (макс 23 балла). 15 EventHandlers каскадно пересчитывают распределение.
- NEW v9.0: Feature.ManagerTimeTrackerService на порту 23390. 8 контроллеров (WorkTimeEntry, AbsenceEntry, WorkSchedule, BacklogState, WorkTimeSummary, WorkTimeReports, WorkTimeSettings, DatevExport), 5 DbSet, 3 background services. Экспорт в DATEV одним кликом.
- Двусторонняя GraphQL+webhook синхронизация с Monday. EntityChangedMessage.Source crm/monday предотвращает echo-loop. PersonMatcher с 3-tier логикой (email → name+birthdate → name) и ContactUpsertService.
- Собственный call-center на Cisco Webex с маршрутизацией по очередям CC1-CC4 и Recall-логикой (3 попытки с эскалацией дат). Окна перезвона 10:00–13:00 и 15:00–17:00.
- Feature.LearningService — внутренняя LMS: курсы → модули → секции → квизы с прокторингом через ProctorEdu webhook. 6 контроллеров, 14 DbSet. E2E тесты на Playwright через QA Orchestrator.
Результат
- Перенесли бизнес с легаси-связки Make/JotForm/Monday на собственную платформу.
- Сквозная аналитика и аудит через ActivityHistoryService с CorrelationId и снапшотом изменений.
- MP4 fix (апр 2026): устранили status drift у 31 из 104 воркеров в продакшене.
- Активная разработка: апр–май 2026 — 47 коммитов в Core.BusinessLogicService, 80 коммитов в Frontend.PortalService, новый модуль учёта времени с DATEV-экспортом.
- Production-метрики: 8 региональных сайтов DieAlltagsfeen мониторятся каждые 60 секунд, среднее время отклика 286 ms, статус-страница объединяет 42 монитора и 3 домена.