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。 以下为已保存的摘录。
This is a sanitized, portfolio/demo replica of a private personal project.
The name shown throughout is real (this is my own project), but every contact
detail, employer, and work history entry is a fictional placeholder, no real
personal data is in this repository. The private original runs against a real
Gmail inbox and real application data, which is exactly why that one isn't
the thing being shown publicly.查看完整 README ↗This is a sanitized, portfolio/demo replica of a private personal project. The name shown throughout is real (this is my own project), but every contact detail, employer, and work history entry is a fictional placeholder, no real personal data is in this repository. The private original runs against a real Gmail inbox and real application data, which is exactly why that one isn't the thing being shown publicly.
An end-to-end, zero-budget job-search tool: ingests real postings (Indeed/Glassdoor/ZipRecruiter/Google via JobSpy, LinkedIn job-alert emails, and opt-in Irish job boards), scores them against a skill profile, tailors a CV per posting, tracks every application, and syncs status from Gmail replies, all on free tiers.
backend/app/services/rag.py) blended with exact keyword matching, used to decide which of a candidate's real skills are relevant to a given job description, no LLM call needed for that half of resume tailoring.backend/tests/test_tailoring.py).Add screenshots here after running the app locally/in a Codespace against the
sample data seeded by backend/db/seed_profile.sql, see docs/SETUP.md.
services/tailoring.py can only reorder/select from skill_profile_items, see backend/tests/test_tailoring.py.gmail.readonly scope). Anything unavoidable is Fernet-encrypted with a key that lives outside the database.DASHBOARD_USERNAME/DASHBOARD_PASSWORD) gates every route except /health, checked with a timing-safe comparison, see backend/app/core/auth.py.| Layer | Choice |
|---|---|
| Backend | FastAPI, SQLAlchemy, Postgres (Neon, with pgvector) |
| Frontend | React, Vite, TypeScript |
| Pipeline | Python connectors + GitHub Actions cron |
| LLM | Groq (primary), Gemini (fallback), both free-tier |
| PDF generation | WeasyPrint |
| Deployment | Render (backend, Docker), Vercel (frontend) |
backend/: FastAPI + SQLAlchemy, serves the dashboard from Postgresfrontend/: React + Vite + TS dashboardpipeline/: ingestion connectors + GitHub Actions entrypoints + Databricks notebooksdocs/SETUP.md: one-time account/key setup (Neon, Google Cloud, Render, Vercel, etc.)See docs/SETUP.md for the full walkthrough. The short version: create a free Neon Postgres project, run backend/db/schema.sql then backend/db/seed_profile.sql (the fictional sample data above) against it, set the env vars in .env.example, and run the backend/frontend locally or in a Codespace.