Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Portal komunitas & operasional untuk Kluster Symphonia Martinez, Summarecon Serpong. Spesifikasi lengkap ada di PRD.md. Lihat .env.example. Wajib: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, CRON_SECRET. Sudah diterapkan ke project Supabase zfirgedhrkwatjgtfskh (via MCP). Migrasi: Regenerate tipe setelah skema berubah (sudah dilakukan sekali ke src/types/database.types.ts): Advisor keamanan: satu-satunya WARN tersisa adalah verifikasi_surat yang memang sengaja dibuka untuk anon (halaman verifikasi QR publik).檢視完整 README ↗
Portal komunitas & operasional untuk Kluster Symphonia Martinez, Summarecon Serpong.
Spesifikasi lengkap ada di PRD.md.
| Lapisan | Teknologi |
|---|---|
| Framework | Next.js 16 (App Router, TypeScript, RSC) |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Database / Auth | Supabase (PostgreSQL, Auth, Storage, RLS) |
| Client Supabase | @supabase/ssr (browser, server, middleware, admin) |
| Form & Validasi | react-hook-form + zod |
| QR / PDF | qrcode.react, jspdf |
| Cron | Vercel Cron (vercel.json) -> /api/cron/daily-report |
npm install
cp .env.example .env.local # lalu isi kredensial Supabase
npm run dev
Lihat .env.example. Wajib: NEXT_PUBLIC_SUPABASE_URL,
NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, CRON_SECRET.
Sudah diterapkan ke project Supabase zfirgedhrkwatjgtfskh (via MCP). Migrasi:
| File | Isi |
|---|---|
0001_initial_schema.sql | 9 tabel PRD, index, trigger auto-profil_warga, ENABLE RLS |
0002_rls_policies.sql | Policy RLS per peran + helper my_role()/my_unit_id() + RPC verifikasi_surat (anon) |
0003_harden_functions.sql | Pindahkan fungsi internal ke schema private (tak diekspos PostgREST) |
0004_fk_covering_indexes.sql | Index penutup foreign key |
seed.sql | Unit contoh M-01, M-02, M-12 + cara set role pengurus |
Regenerate tipe setelah skema berubah (sudah dilakukan sekali ke src/types/database.types.ts):
npx supabase gen types typescript --project-id zfirgedhrkwatjgtfskh --schema public > src/types/database.types.ts
Advisor keamanan: satu-satunya WARN tersisa adalah
verifikasi_suratyang memang sengaja dibuka untukanon(halaman verifikasi QR publik).
src/
├── app/
│ ├── (auth)/ # login, register (tanpa shell portal)
│ ├── (portal)/ # area login: guard + shell nav per role
│ │ ├── dashboard/
│ │ ├── iuran/ surat/ kupon/ toko/ # Modul warga
│ │ └── admin/
│ │ ├── warga/ # Modul 1 - master data
│ │ ├── iuran/ kas/ # Modul 2 - bendahara
│ │ ├── surat/ # Modul 3 - approval ketua RT
│ │ ├── event/ event/scan/ # Modul 4 - seksi acara
│ │ └── toko/{pos,produk,mutasi,opname,belanja}/ # Modul 5
│ ├── verify/letter/[token]/ # verifikasi surat publik (ber-QR)
│ └── api/cron/daily-report/ # rekap harian Toko Martinez (22.00 WIB)
├── components/
│ ├── ui/ # shadcn/ui
│ ├── providers/ # theme + toaster
│ ├── layout/ shared/
├── lib/
│ ├── supabase/ # client.ts, server.ts, session.ts, admin.ts
│ ├── constants.ts format.ts rbac.ts
│ └── validations/ # skema zod per modul
├── server/
│ ├── actions/ # Server Actions per modul
│ └── queries/ # query data reusable
├── types/ # database.types.ts + alias domain
├── hooks/
└── proxy.ts # (Next 16) refresh sesi Supabase + guard route
supabase/
├── migrations/0001_initial_schema.sql
└── seed.sql