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。 以下為已儲存的摘錄。
Coaching client management. A Next.js app that turns coach documents into a
confirmed "active protocol", ingests real nutrition/health data from Health
Connect via an Android companion app, and closes the loop with a compliance
dashboard, an AI weekly analysis, and a generated coach check-in.
Live demo: https://show-prep-gamma.vercel.app — seeded with sample
coaching data; log in with the demo passcode.
• / — Next.js 16 (App Router) + TypeScript + Drizzle + PostgreSQL web app
• /mobile — Expo (React Native) Health Connect companion for Android
(its README)檢視完整 README ↗Coaching client management. A Next.js app that turns coach documents into a confirmed "active protocol", ingests real nutrition/health data from Health Connect via an Android companion app, and closes the loop with a compliance dashboard, an AI weekly analysis, and a generated coach check-in.
Live demo: https://show-prep-gamma.vercel.app — seeded with sample coaching data; log in with the demo passcode.
Monorepo layout (pnpm workspaces):
/ — Next.js 16 (App Router) + TypeScript + Drizzle + PostgreSQL web app/mobile — Expo (React Native) Health Connect companion for Android
(its README)claude-opus-4-8) extracts structured prescriptions (calories, P/C/F,
effective date, cardio plan); you review and confirm before one becomes
the active protocol. Program rules/guidelines are just another document
category.check_ins. Thresholds live in the weekly_targets
table (set per client by the coach, on the client's page — Edit). Output: a copyable/mailable filled-in template.voyage-4 embeddings,
1024-dim, pgvector), with source citations./log, POST /api/manual-entry): a client logs their own days, a coach
picks a client. Saved with source: "manual"; saving a day again replaces
that day's manual entry. Macros/nutrition are not logged here./api/ingest/{nutrition|weight|hydration|sleep|exercise|activity},
Zod-validated, bearer-token-gated, idempotent (upserts on Health Connect
record UIDs).pnpm install
cp .env.example .env.local # add ANTHROPIC_API_KEY + VOYAGE_API_KEY for AI features
pnpm seed # optional: 35 days of demo data (run with dev server stopped)
pnpm dev
No database setup needed: without DATABASE_URL the app runs an embedded
PGlite (WASM Postgres, pgvector included) at .data/pglite. Point
DATABASE_URL at a real Postgres (with the pgvector extension) to use one —
same Drizzle schema/migrations either way.
PGlite is single-process: stop the dev server before running
pnpm seed, and vice versa.
Create a Postgres database (Neon, or Vercel → Storage → Postgres) and copy
its pooled connection string. Migrations and the vector extension are
applied automatically on first boot — no manual setup.
Import the repo at vercel.com/new and set env vars:
DATABASE_URL, ANTHROPIC_API_KEY, VOYAGE_API_KEY, INGEST_API_KEY
(required in prod — the ingest API is public), SESSION_SECRET, and for a
public demo SEED_COACH_PASSCODE/SEED_CLIENT_PASSCODE (see "Demo
account seeding" in .env.example — sets the seeded demo account's
passcode; there's no login-page shortcut, sign in with it like any other
account).
Seed the deployed database with sample data + AI content from your machine:
DATABASE_URL="<neon-pooled-url>" SEED_AI=1 pnpm seed
AI routes run with maxDuration = 300; next.config.ts bundles the migration
SQL into the serverless output.
| Command | What |
|---|---|
pnpm dev / pnpm build / pnpm start | Next.js |
pnpm seed | demo data (35 days, active + pending protocol) |
pnpm test | unit tests (Vitest) |
pnpm test:e2e | e2e smoke tests (Playwright) |
pnpm typecheck | tsc --noEmit |
pnpm db:generate | regenerate Drizzle migrations after schema changes |
pnpm backfill-accounts | one-time: create coach/client accounts, assign existing data (see the script's header comment) |
All optional — see .env.example. INGEST_API_KEY protects the ingest API
(the companion app sends it as a bearer token). SESSION_SECRET enables the
per-account login gate (each account has its own passcode, see
scripts/backfill-accounts.ts); leave unset for none.
Day bucketing is done in America/Los_Angeles (configurable per client — a coach
sets it on the client's page via Edit; a client sets their own in Settings):
timestamps are stored as UTC and each row also stores its local_date,
computed at ingest.
MyFitnessPal ─┐
├→ Health Connect (on-device) → mobile companion (batched POST)
Samsung Health┘ → /api/ingest/* → Postgres → dashboard / check-ins
Coach docs → upload → Claude extraction → pending protocol → user confirms
→ active protocol (compliance baseline)
→ chunked + embedded (voyage-4) → doc chat (RAG)