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。 以下為已儲存的摘錄。
A phone-OTP-login civic platform: anyone can log in with just their mobile
number and file a complaint about a local issue (road, water, electricity,
etc). To register clients and view complaint/client records, a user has to
pay a one-time membership fee.
Built with Next.js 14 (App Router), react-hook-form, zod, Tailwind CSS, and
lucide-react icons.
Open http://localhost:3000 in Chrome — redirects to /login.檢視完整 README ↗A phone-OTP-login civic platform: anyone can log in with just their mobile number and file a complaint about a local issue (road, water, electricity, etc). To register clients and view complaint/client records, a user has to pay a one-time membership fee.
Built with Next.js 14 (App Router), react-hook-form, zod, Tailwind CSS, and lucide-react icons.
npm install
npm run dev
Open http://localhost:3000 in Chrome — redirects to /login.
/membership →
click Pay ₹499 & Become a Member (this is a mock payment, nothing is
actually charged) → you're marked as a member and redirected backJSON files in data/, created automatically:
data/users.json — phone number + membership statusdata/clients.json — submitted client records (masked Aadhar only)data/complaints.json — submitted complaintsThis is a stand-in for a real database — replace lib/db.ts with real
queries against Postgres (Supabase/Neon) before going live. data/ is
already excluded via .gitignore.
Mocked in app/api/auth/send-otp/route.ts and
app/api/auth/verify-otp/route.ts. Replace with a real SMS/OTP provider.
Mocked in app/api/mobile-otp/send/route.ts and
app/api/mobile-otp/verify/route.ts. Same kind of provider as above — can
reuse the same SMS provider/account as login OTP.
Mocked in app/api/aadhar/send-otp/route.ts and
app/api/aadhar/verify-otp/route.ts. This one is regulated — needs a
licensed KYC provider like Setu, Surepass, Cashfree, or HyperVerge (not a
generic SMS provider), since Aadhar authentication requires UIDAI
AUA/KUA licensing that only these intermediaries hold.
Mocked in app/api/membership/create-order/route.ts and
app/api/membership/verify-payment/route.ts. Full instructions for wiring
up real Razorpay (order creation, checkout.js, signature verification) are
written as comments directly in those two files. You'll need:
RAZORPAY_KEY_ID=your_key_id
RAZORPAY_KEY_SECRET=your_key_secret
in a .env.local file, plus npm install razorpay.
The recommended path is to turn this into a PWA (add a manifest + icons) and wrap it with Google's Trusted Web Activity (TWA) tooling — this packages the live website into a real installable Android app without a rewrite. Requires: the app deployed on a real HTTPS domain (not localhost), a Google Play Developer account ($25 one-time), a privacy policy page, and app store assets (icon, screenshots).
app/
page.tsx Redirects to /dashboard
login/page.tsx Phone + OTP login (auto-registers new numbers)
dashboard/page.tsx Dashboard (protected, membership-aware)
membership/page.tsx Membership payment page
api/auth/ Phone OTP send/verify, logout
api/mobile-otp/ Mobile number verification (on the client form)
api/aadhar/ Aadhar OTP send/verify (mock)
api/membership/ Order creation + payment verification (mock Razorpay)
api/clients/ List (members only) and create (members only) client records
api/complaints/ List (members only) and create (any logged-in user) complaints
components/
Login/ PhoneLoginForm, LogoutButton
Membership/ MembershipCard
Dashboard/ DashboardShell, Sidebar, Topbar, SectionHero, ClientsTable
Complaints/ ComplaintForm, ComplaintsList
ClientForm/ 2-step intake form, Aadhar OTP, Mobile OTP
lib/
db.ts Mock JSON-file database (users, clients, complaints)
schema.ts Zod schemas + age calculation helper
locationData.ts Sample State/District/Taluka data
session.ts Reads logged-in phone + membership status from cookie
middleware.ts Protects all routes except /login