GNGerege Nexus
GitHub Нэвтрэх
Баримтын цэсТойм

Gerege Nexus

Олон байгууллагатай, модуль нэмж бүтээгдэхүүн болгох платформын цөм

Gerege Nexus нь Go backend, Next.js web shell, PostgreSQL өгөгдлийн сан, операторын control plane болон native client-уудын суурь юм. Бизнес аппуудыг compile-time Go module хэлбэрээр distribution репо нэмдэг. Энэ үндсэн репо нь бүх салбарын бэлэн ERP багц биш.

Бодит хүрээ (2026-08-25): catalog/apps.json хоосон. Сүүлчийн апп болох io.gerege.nexus.sso_clients мөн өдөр appstore-gerege-nexus руу гарсан бөгөөд аль ч distribution түүнийг апп стороос татаж авна. Contacts, products, inventory, billing, documents, government workflow, SSO клиент зэрэг аппын migration history эсвэл frontend translation энэ репод үлдсэн байж болох ч тэдгээрийн ажиллах module энэ үндсэн бинарьд байхгүй. Тийм аппын маршрут энэ deployment дээр нээгдэхгүй.

License Go Version Next.js CI

Энэ репо яг юу агуулдаг вэ

Хэсэг Одоогийн хэрэгжилт
Tenant plane Нэвтрэлт, session, tenant membership, RBAC, profile, апп суулгалт/хаалт, AI API, төхөөрөмж, email verification, SSO client/provider, reporting engine
Operator plane Тенантын lifecycle, операторын TOTP нэвтрэлт, audit, support, quota/metering, feature flag, runtime settings/credentials, announcement, backup/deploy удирдлага
Built-in апп Байхгүй. Апп бүр каталогоор ирнэ — 2026-08-25-нд sso_clients явсны дараа энэ бинарь нэг ч бизнес апп агуулахгүй
Web Public landing, login/setup, profile, app store, settings, control plane; аппын дэлгэцүүд (SSO клиент, баримт, харилцагч) module-гүйгээ амьгүй байдлаар shell-д үлдсэн
Native macOS, iOS/iPadOS, Windows, Android shell; Linux-д PWA
Observability /health, /ready, /metrics, structured log, optional OTLP/Sentry; тусдаа monitoring compose

Үндсэн платформын route, хүснэгт, service байлаа гээд хэрэглэгчид харагдах бизнес апп заавал байна гэсэн үг биш. Compile-time module нь pkg/nexus-ийн гэрээг хэрэгжүүлж, binary-д бүртгэгдсэн, каталогт орсон, тухайн tenant-д суусан үед л module route ажиллана.

Энэ үндсэн бинарьд байхгүй зүйлс

Эдгээрийн зарим нь product distribution репо руу салсан. Модуль хэрхэн бичигдэж, каталогоор ирдгийг docs/MODULES.md, одоогийн архитектурыг docs/ARCHITECTURE.md-ээс үзнэ үү.

Гол боломжууд

Репогийн бүтэц

backend/
  cmd/                  api, migrate, bootstrap, catalog хэрэгслүүд
  db/migrations/        үндсэн PostgreSQL migration-ууд
  internal/kernel/      хоёр plane-д нийтлэг доод түвшний механизм
  internal/operator/    deployment/operator plane
  internal/workspace/   байгууллагын нэрийн өмнөөс ажиллах plane
  internal/apps/        distribution module-ийн угсрах цэг (одоо хоосон)
  pkg/nexus/            distribution module-ийн нийтийн SDK
  pkg/host/             distribution binary-г асаах нийтийн entry point
frontend/               Next.js web shell ба control plane UI
catalog/                үндсэн catalog, manifest, chronicle
native-apps/            macOS, iOS/iPadOS, Windows, Android client
deploy/                 image, compose, nginx, monitoring
docs/                   одоогийн, түүхэн, proposal баримтуудын индекс

Ажиллуулах

Урьдчилсан шаардлага

Docker Compose

docker compose up -d
docker compose ps

Compose нь PostgreSQL, Redis, нэг удаагийн migration, backend, frontend асаана. Дараах хаягуудыг ашиглана:

Development demo account:

Талбар Утга
И-мэйл admin@example.com
Нууц үг Password123!
Tenant Demo Corporation (demo)

SEED_DEMO_DATA нь production-оос бусад орчинд анхдагчаар идэвхтэй. Production-д explicit true өгөөгүй бол demo account үүсэхгүй.

Гараар

Эхлээд PostgreSQL (шаардвал Redis)-ийг асаагаад:

cd backend
go mod download
DATABASE_URL="postgres://postgres:postgrespassword@localhost:5432/platform_db?sslmode=disable" \
  go run ./cmd/migrate up

PUBLIC_ORIGIN=http://nexus.localhost:3000 \
ALLOWED_ORIGINS=http://nexus.localhost:3000,http://admin.localhost:3000 \
CONTROL_PLANE_HOST=admin.localhost \
  go run ./cmd/api

Өөр terminal-д:

cd frontend
npm ci
CONTROL_PLANE_HOST=admin.localhost \
NEXT_PUBLIC_API_URL=http://nexus.localhost:8080/api/v1 \
NEXT_PUBLIC_CONTROL_PLANE_API_URL=http://admin.localhost:8080/api/platform/v1 \
  npm run dev

Production тохиргоог README-гээс таахгүй. Бүрэн хувьсагч ба аюулгүй default-ыг .env.example, production жишээг deploy/.env.prod.example, анхны tenant/operator үүсгэх алхмыг docs/OPERATIONS.md-ээс дагана.

API ба каталогийн бодит эх сурвалж

README дахь API жагсаалт бүрэн contract биш. Кодтой хамт шалгагддаг эх сурвалжууд:

Үндсэн public endpoint-д /health, /ready, /metrics, auth, setup, OAuth2/OIDC, app store, device enrollment, email verification орно. Tenant session шаарддаг route-ууд, control plane route-ууд, module route-ууд тус тусдаа хамгаалалттай.

Тест

cd backend
go test ./...
go vet ./...

cd ../frontend
npm ci
npm test
npm run lint
npm run build

CI нь үүн дээр migration-backed race test, API/route boundary, PWA, host, translation-gap report, Docker build, govulncheck, gosec болон native client build нэмнэ. Яг ажилладаг командуудыг .github/workflows/ci.yml, security.yml, native-clients.yml-ээс үзнэ үү.

Хэл ба баримтын статус

UI-ийн эх мөр монгол, англи хэлтэй; араб, хятад, франц, орос, испани overlay бий. Дутуу overlay англи хэл рүү fallback хийдэг бөгөөд CI цоорхойг тайлагнадаг — бүх дэлгэц 100% орчуулагдсан гэж амлахгүй.

README долоон хэлтэй. Техникийн баримт бүр долоон орчуулгатай биш; файл бүрийн хэл ба статусыг docs/README.md-д тэмдэглэсэн. PLAN, PROPOSAL, PROMPT, WORKLOG нэртэй файл нь одоогийн runtime contract биш. Ажиллуулах зааварт тэдгээрийг дангаар нь эх сурвалж болгож болохгүй.

Аюулгүй байдал ба лиценз

Эмзэг байдлыг public issue-д нийтлэхгүй; SECURITY.md-ийн private reporting журмыг ашиглана.

Apache License 2.0 — LICENSE.