Frontend SaaS multi-tenant untuk warga dan admin komunitas.
| Repo | halort-platform-web |
| Stack | Next.js 16 · React 19 · TanStack Query · Eden Treaty · Zustand · RHF + Zod · @halort/web |
| Lokal | http://localhost:3001 |
| Produksi | https://app.halort.com · {slug}.halort.com |
Aturan arsitektur
Nol logika bisnis di UI — semua operasi domain melalui platform API via Eden Treaty. Paket UI berasal dari design system.
Grup rute
| Grup | Contoh |
|---|---|
(public) | /, /berita, /agenda, /campaign, /kontak |
(auth) | /login, /register, /forgot-password |
(resident) | /dashboard, /iuran, /surat, /kampanye, … |
(admin) | /admin/* — termasuk /admin/support (tiket dukungan HaloRT) |
| Pasar | /pasar, /preloved, /jualan, /jasa, /pasar/iklan |
Lihat Concepts/Roles and Portals · Concepts/Pasar GP2 · Auth · Multi-tenancy.
Tenancy
Tenant berbasis host + X-Halort-Tenant-Slug. Fallback lokal: NEXT_PUBLIC_TENANT_SLUG. Membutuhkan API yang berjalan.
Bantuan & tur in-app
Portal warga dan admin komunitas memakai TourProvider (react-joyride) + modal bantuan per menu (src/config/docs.ts → docs.halort.com). Tombol Bantuan di PortalShell memutar ulang tur. Sub-menu Pengaturan memakai SettingsShell dengan pola yang sama.
Lihat Features/Bantuan dan Tur · Guides/Warga/Bantuan dalam Portal · Guides/Pengurus/Bantuan dalam Admin.
Deploy
GHCR → Argo CD. Ingress wildcard untuk tenant; host reserved (docs, design, …) adalah objek Ingress terpisah.
Fitur & pengujian
- Features/Web Features · Features/Feature Map · Features/Tiket Dukungan Platform · Features/Bantuan dan Tur
- Testing/Web Admin Checklist · Testing/Bantuan dan Tur Checklist · Testing/Tiket Dukungan Checklist · Testing/Duitku SaaS Billing · Testing/Testing Mechanism