Appearance
Обзор микросервисов
Nimbus — это облачная SaaS‑платформа для автоматизации управления ЖКХ, построенная как набор Go‑микросервисов с чётким разделением ответственности.
nimbus_auth(auth-service)
Отвечает за аутентификацию и авторизацию:- управление пользователями и ролями (УК, оператор, бухгалтер, администратор);
- выдача и проверка JWT‑токенов;
- единая точка проверки прав для всех бэкендов.
nimbus_core(core-service)
Доменно‑справочный и операционный контур:- организации, дома, помещения (Room/House), собственники (Owner);
- лицевые счета (PersonalAccount) и базовые параметры (площади, категории, льготы);
- справочники для форм UI (виды помещений, типы счётчиков, формы собственности и т.д.);
- API для CRUD‑операций в админке и подготовка данных для биллинга.
nimbus_billing(billing-service)
Расчётное ядро и финансовый контур:- услуги дома (HouseService), тарифы и нормативы;
- расчёт начислений (Charge) по ПП 354;
- ставки пеней (PenaltyRate) и ежедневный пересчёт пеней;
- журнал проводок Ledger (
ledger_entries) и кэш балансов (account_balances); - технические задачи: синхронизация ключевой ставки ЦБ, массовое применение расчётных циклов (BillingCycle).
Bank Integrator
Финансовый хаб для обмена с банками:- приём и разбор банковских выписок/реестров в текстовом формате 1С (клиент‑банк);
- унифицированный парсер, который превращает строки выписок в внутренние события «платёж по ЛС»;
- API‑клиенты к банкам для прямой интеграции (polling/webhook) и получения статусов платежей;
- запись результатов в
billing-service(создание платежей и Ledger‑проводок) по безопасному внутреннему API.
GIS Integration Gateway
Compliance‑модуль для двустороннего обмена с ГИС ЖКХ:- выгрузка в ГИС ЖКХ данных по домам, ЛС, начислениям, показаниям и услугам с учётом настроек в
nimbus_core; - загрузка оплат, статусов обработок и связанных справочников из ГИС ЖКХ;
- нормализация/валидация данных и прокси‑слой между внутренней моделью Nimbus и внешними XML/JSON‑форматами.
- выгрузка в ГИС ЖКХ данных по домам, ЛС, начислениям, показаниям и услугам с учётом настроек в
Справочники и объекты, к которым обращается UI (дома, помещения, ЛС, услуги), лежат в nimbus_core. Вся сложная финансовая логика (начисления, пени, Ledger) сконцентрирована в nimbus_billing. Авторизация и сессии вынесены в nimbus_auth.
Последовательность: от создания ЛС до первого начисления
Ниже показан упрощённый путь запроса: от пользователя в веб‑интерфейсе до появления первой записи в Ledger и учёта банковского платежа.
Где «живут» справочники и расчётное ядро
Справочники и «паспортная» часть данных:
nimbus_coreхранит структуру жилищного фонда (Organization, House, Room, Owner, PersonalAccount) и доменные справочники;- эти данные используются как источники истины для UI и для расчётного ядра.
Расчётное ядро и финансы:
nimbus_billingне дублирует доменную модель, а ссылается на ЛС и услуги через идентификаторы;- все движения по долгам проходят через
LedgerEntry(иммутабельный журнал проводок); AccountBalanceвыступает оптимизированным представлением текущего состояния по ЛС и всегда может быть восстановлен из Ledger.
Такое разделение позволяет:
- эволюционировать доменную модель (
core-service) без риска сломать финансовый контур; - независимо масштабировать
billing-serviceпод тяжёлые расчётные задачи; - подвести под Ledger жёсткие аудит‑требования (неизменяемая история, только INSERT).