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