GN Gerege Nexus
GitHub Нэвтрэх

Хувь нэмэр оруулах заавар

Gerege Nexus (open-gerege-nexus) төсөлд хувь нэмэр оруулах сонирхол гаргасанд баярлалаа. Модуль бүтэцтэй, өндөр бүтээмжтэй нээлттэй эхийн платформыг хамтдаа бүтээхэд таны оролцоог урьж байна.

Монгол  ·  English


Хариуцагчид

Төслийг дараах баг хөгжүүлж, хариуцан ажиллуулна:


Ёс зүйн дүрэм

Хувь нэмэр оруулагч бүр Ёс зүйн дүрэм-ийг мөрдөнө. Зохисгүй үйлдлийг community@gerege.mn хаягаар мэдэгдэнэ үү.


Хэрхэн хувь нэмэр оруулах вэ

1. Алдаа мэдээлэх

Алдаа мэдээлэхийн өмнө нээлттэй issue-үүдийг шалгаж, давхардал үүсгэхээс сэргийлнэ үү. Мэдээлэлдээ дараахыг заавал оруулна:

2. Шинэ боломж санал болгох

Санал болгож буй боломжийн хэрэглээний тохиолдол, шийдэх гэж буй асуудал, төсөөлж буй шийдлээ тодорхой бичнэ үү.

3. Pull request илгээх

  1. Салбар үүсгэхgit checkout -b feature/amazing-feature.

  2. Код бичих хэв маягийг мөрдөх:

    • Backend: Go 1.26+, gofmt форматлалт, slog бүтэцтэй логлолт, алдааг тодорхой шалгах.
    • Frontend: Next.js 16 App Router, TypeScript strict горим, Tailwind CSS.
  3. Тест бичих — backend-д нэмэгдсэн логик бүрт *_test.go тест дагалдана.

  4. Шалгалтуудыг ажиллуулах:

    # Backend: формат, статик шинжилгээ, тест
    cd backend
    gofmt -l .
    go vet ./...
    go test -race ./...
    golangci-lint run
    
    # Frontend: төрлийн шалгалт ба build
    cd ../frontend
    npx tsc --noEmit
    npm run build
    
  5. Commit бичлэгConventional Commits хэлбэрийг баримтална:

    • feat: add invoice management module
    • fix: resolve stock level calculation rounding
    • docs: update module authoring guide
  6. PR нээхmain салбар руу чиглүүлнэ. CI дээрх lint, тест, frontend build, аюулгүй байдлын шалгалт бүгд ногоон байх шаардлагатай.


Шинэ бизнес модуль нэмэх

  1. backend/internal/apps/<module_name>/ дор шинэ пакет үүсгэнэ.
  2. backend/pkg/nexus-ийн nexus.Module интерфейсийг бүрэн хэрэгжүүлнэ.
  3. Модулийг nexus.Register-ээр бүртгэж, catalog/manifests/<slug>.json manifest файл нэмнэ. Manifest-ийн бүтэц appcatalog.Manifest-тэй яг таарах ёстой — алдаатай manifest бол сервер асахгүй.
  4. catalog/apps.json-д апп-аа бүртгэнэ. apps хүснэгт нь ачаалал бүрт энэ файлаас синк болох тул SQL гараар бичих шаардлагагүй.
  5. frontend/app/<module_name>/page.tsx дор дэлгэц нэмнэ.

Дэлгэрэнгүйг Модуль хөгжүүлэх заавар-аас үзнэ үү.


backend/pkg/nexus-д хүрэх PR

Энэ пакет бол экосистемийн гэрээ: distribution repo бүр түүн рүү компилл хийж, tag-аар түгжинэ. Тиймээс:


Баримт бичиг ба орчуулга