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。 以下为已保存的摘录。
Kiosk UI for printing attendee name badges at IT Community of Uzbekistan events.
Vite + React 19 + TypeScript + Tailwind v4. Client state in Zustand, server state in React Query.
Requires the backend running (default http://localhost:4000/api).
.env is gitignored — copy .env.example and fill it in.
Vite bakes VITE_* vars in at build time, so changing them requires a rebuild/redeploy.查看完整 README ↗Kiosk UI for printing attendee name badges at IT Community of Uzbekistan events. Vite + React 19 + TypeScript + Tailwind v4. Client state in Zustand, server state in React Query.
npm install
cp .env.example .env # then edit values
npm run dev # http://localhost:5173
Requires the backend running (default http://localhost:4000/api).
| Script | Does |
|---|---|
npm run dev | Vite dev server (port 5173) |
npm run build | Type-check + production build |
npm run lint | ESLint |
npm run preview | Serve the built dist/ |
.env is gitignored — copy .env.example and fill it in.
| Variable | Purpose |
|---|---|
VITE_API_URL | Backend base URL including /api, no trailing slash. |
VITE_PRINTER_MODE | preview (on-screen badges) or webusb (Gainscha hardware). |
Vite bakes VITE_* vars in at build time, so changing them requires a rebuild/redeploy.
frontend/.
Framework (Vite), build command, and output dir are picked up from vercel.json.vercel.json handles SPA routing (all paths → index.html) and long-cache
headers for hashed assets.Note: webusb printing needs Chrome/Edge over HTTPS and is not yet tested on hardware —
ship with VITE_PRINTER_MODE=preview until the Gainscha printer is verified (confirm 203 DPI in
src/printer/buildBadgeTSPL.ts).
The xlsx parser is code-split behind the lazy ImportDialog, so the initial load is small
(~80 KB gzip app + vendor); the ~125 KB gzip spreadsheet chunk loads only when an operator
opens Import.