Gerege Template Platform¶
Production · Слой 3 — Основа платформы ·
Репозиторий: template-gerege-mn · open.gerege.mn
Основа для создания цифровых услуг. Это не пример кода, а целая платформа — готовая к production, усиленная по безопасности и покрытая тестами. Большинство продуктов экосистемы выросли отсюда.
Преемник основы — Gerege Nexus
В августе 2026 появилось 2-е поколение платформенной основы: Gerege Nexus — модульный монолит с магазином приложений. Вместо форка шаблона новый продукт теперь пишется как модуль Nexus либо, для бренда, как форк upstream. Template остаётся в production, но если вы начинаете новый проект, сначала посмотрите Gerege Nexus.
open.gerege.mn недоступен по состоянию на 2026-08-07 — этот хост теперь
отдаёт сертификат nexus.gerege.mn, поэтому HTTPS падает на несовпадении
имени. См. Карту доменов.
Главная идея¶
Ни одна новая услуга не должна заново решать идентификацию, безопасность, модель прав, аудит и ИИ. Всё это приходит готовым с первого дня; разработчик добавляет только логику своей предметной области.
Вы создаёте ценность, а не инфраструктуру.
Что приходит готовым¶
Аутентификация и сессии¶
- Вход по eID — QR / deep-link / push по номеру реестра (long-poll сессия).
- Google OAuth — дополнительная привязка; при первом подключении обязательна проверка через eID.
- JWT access + refresh (ротация); выход обнуляет оба.
- Паролей нет, входа по email/OTP нет.
Права и организации¶
- RBAC — динамические роли плюс каталог прав; четырёхуровневая модель
(
superadmin → admin → manager → user). - Super admin — отдельная учётная запись с MFA — создаётся через onboarding-мастер (allow-list приглашений → Google → eID → OTP по почте → TOTP + коды восстановления). Хранится в отдельной таблице, поэтому один человек может быть и админом по eID, и Google super admin.
- Организации и членство — создание/поиск (справка из государственного реестра через Gerege Verify), управление участниками и правами; всё защищено RLS для каждого пользователя.
Поверхность услуг¶
- Портал государственных услуг — каталог услуг, заявки, справки, уведомления, платежи, запись на приём.
- API-шлюз — управляемые администратором services / routes / consumers / API key / policy плюс телеметрия запросов.
- Подпись документов (PAdES) — через G-Sign.
- Интеграции с третьими сторонами — подключение Google Drive/Meet и Dropbox; токены хранятся зашифрованными по AES-256-GCM. Плюс собственное SFTP-хранилище приложения.
ИИ¶
- Конвейер Gemini — текстовый и голосовой чат, STT, TTS, перевод на лету.
- Слоистый system prompt — guardrail, встроенные в код, плюс область применения, настраиваемая администратором через базу данных.
- Инструмент
search_knowledge— заземляет ответы на реальные данные базы знаний.
Безопасность и наблюдаемость¶
- Строгие security-заголовки (CSP, HSTS, COOP/COEP/CORP), allow-list CORS, rate limit, таймауты HTTP-сервера.
- Параметризованные запросы; Postgres RLS плюс boot-time enforceability guard.
- Журнал аудита — связанный хеш-цепочкой, только на добавление.
- OpenTelemetry + Prometheus + Zap.
Подробности — на странице Безопасность.
Структура¶
template-gerege-mn/
├── backend/ # Go · chi (net/http) · pgx (pgxpool) · PostgreSQL · Redis
│ └── docs/ # ARCHITECTURE · DEVELOPMENT · API_CONTRACT · SECURITY (EN/MN)
├── frontend/ # Next.js BFF — проксирование со стороны сервера, cookie-сессии
└── ios/ # SwiftUI-клиент eID (SDK GeregeSmartID)
Бэкенд следует Clean Architecture — handler → usecase → repository → domain,
без обратных импортов. Бизнес-ядро не импортирует веб-фреймворк.
Происхождение и лицензия¶
Бэкенд происходит от открытого проекта
snykk/go-rest-boilerplate (MIT,
Najib Fikri). HTTP-слой переведён с Gin на chi (net/http), слой данных — с
sqlx на pgx (pgxpool, SQL вручную). Указание авторства исходного проекта
сохранено в файле AUTHORS. Проект распространяется под лицензией MIT.
Варианты¶
| Вариант | Стек | Репозиторий |
|---|---|---|
| Gerege Template Platform | Go + Next.js | template-gerege-mn |
| Government Template Platform V3.0 | Go + Next.js | template-dgov-mn |
| Government Template — Node.js edition | Node.js/TS + React | template-dgov-mn-nodejs |
Вариант на Node.js — порт версии на Go: Express 5 · pg · RLS + React.
Стабилизация продолжается.
Продукты, выросшие отсюда¶
- Gerege Platform — расширенная версия, сама IdP
- Developer Portal
- Gerege Wallet
- Ring System · платформа «Хурдан» — государственная линия
Общий код и автосинхронизация
Общие возможности backend находятся в open-gerege-core, а frontend — в
@gerege/ui-core. Ежедневная git-синхронизация переносит изменения шаблона
в продукты и открывает PR или issue при конфликте.
Подробная документация¶
Документы ARCHITECTURE, DEVELOPMENT, API_CONTRACT и SECURITY находятся
в каталоге backend/docs/ репозитория template-gerege-mn, на монгольском и
английском.