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。 以下為已儲存的摘錄。
Fleet and rental management for car hire businesses in Kenya, by Ardena. Businesses run their whole rental operation from one dashboard: fleet, bookings, renter verification, M-Pesa payments, staff and billing. Multi-tenant, with every business in its own isolated workspace.
Built with Vite + React in plain JavaScript and plain CSS. No TypeScript, no Tailwind, no UI framework.
No .env file is required for local work; the client points at the live API by default.檢視完整 README ↗Fleet and rental management for car hire businesses in Kenya, by Ardena. Businesses run their whole rental operation from one dashboard: fleet, bookings, renter verification, M-Pesa payments, staff and billing. Multi-tenant, with every business in its own isolated workspace.
Built with Vite + React in plain JavaScript and plain CSS. No TypeScript, no Tailwind, no UI framework.
npm install
npm run dev # dev server on http://localhost:5173
npm run build # production build to dist/
npm run preview # serve the production build locally
| Variable | Purpose | Default |
|---|---|---|
VITE_API_BASE_URL | Backend base URL | https://api.ardena.xyz/api/v1/b2b |
No .env file is required for local work; the client points at the live API by default.
The marketing site and the dashboard live in one SPA, routed with React Router (src/App.jsx). The dashboard sits behind RequireAuth and access is request-only: there is no self-serve signup, /signup submits an access request and the Ardena team verifies the business before sending credentials.
src/
pages/ Public site: landing, about, pricing, contact, auth,
and /v/:slug (the public "Ardena Verified" trust page)
dashboard/ The product: one .jsx per screen plus its *Store.js
lib/ api.js (API client) and authStore.js (session)
components/ Shared bits: dropdowns, dialogs, logo, badges
hooks/ usePageTitle, useReveal, useDictation
scripts/
strip-dashes.mjs Copy rule: no em dashes in UI text
ai.md The workspace assistant's contract
changesreply.md What the backend shipped, section by section
Every dashboard screen reads from a small store (src/dashboard/*Store.js) that pages subscribe to via useSyncExternalStore. Stores whose endpoints are live are hydrated from the API by DashboardLayout on mount; the rest hold local mock data until their endpoints ship. The API contract lives on the backend side; changesreply.md records what shipped for this launch and ai.md covers the assistant.
| Module | Backend status |
|---|---|
| Auth, onboarding, business profile, policy, trust page | Live |
| Fleet | Wired in the client, awaiting backend deploy |
| Bookings, clients, verification, payments, staff, notifications, billing, support | Local stores, endpoints pending |
The API client (src/lib/api.js) handles bearer tokens, single-flight refresh on 401, and FastAPI-style { detail } error messages surfaced as toasts.
#007FFA is used only as a small accent; sections alternate white and black; corners are sharp. Check ardena.co.ke for the reference look.node scripts/strip-dashes.mjs reports them; add --write to apply, --all to include the marketing pages.The first public release is the B2B dashboard on its own: fleet, bookings,
clients, chauffeurs, verification, payments, staff. Two flags in
src/lib/features.js hold the rest back, and both are harder gates than the
server's own app_linked so a stale backend flag cannot leak an unfinished
screen into a build.
| Flag | Holds back |
|---|---|
B2C_MARKETPLACE | Listings, renter messages, reviews, deposit claims, app earnings and withdrawals |
VEHICLE_TRACKING | The live map and tracker pages — no GPS connector exists yet |
HOST_ACCOUNT_LINKING | Connecting an existing Ardena host account |
Two things are shown but deliberately inert, so a business learns the capability is coming rather than never hearing of it: Fleet's per-vehicle Marketplace action is disabled with a Soon tag, and Tracking keeps its sidebar entry and renders a coming-soon page. Each is one flag from working — grep the flag before flipping it, the doc comment beside it lists what it gates.
What the backend shipped for this launch: changesreply.md.
OnboardingChecklist exists; making it the whole first-run screen
until a vehicle and a booking exist is the highest-value change left.pdf.js already does most of this.fetchActivityLog is
still in api.js.Deliberately not on this list: anything B2C, tracking, annual prepay, multi-currency. They widen the surface without making the core journey work.
Deployed on Vercel as a static SPA; vercel.json rewrites all routes to index.html so deep links work.