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)