Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
HR salary tool for ~10,000 employees (Incubyte take-home).
All make targets are in the root Makefile. Run them from the repo root (make help lists everything).
Production matches docs/IMPLEMENTATION_PLAN.md §3a: Railway (API + Postgres) and Vercel (React UI). Pushes to the connected Git branch redeploy each service.
Vercel build env: VITE_API_URL=https://testtask-incubyte-production.up.railway.app (no trailing slash; the app calls /api/...).檢視完整 README ↗HR salary tool for ~10,000 employees (Incubyte take-home).
| Doc | Purpose |
|---|---|
| docs/REQUIREMENTS.md | Scope and success criteria |
| docs/ARTIFACTS.md | Design decisions and AI usage log |
| docs/IMPLEMENTATION_PLAN.md | Phases and stack |
All make targets are in the root Makefile. Run them from the repo root (make help lists everything).
Production matches docs/IMPLEMENTATION_PLAN.md §3a: Railway (API + Postgres) and Vercel (React UI). Pushes to the connected Git branch redeploy each service.
| Link | |
|---|---|
| Deployed app (frontend) | https://test-task-incubyte.vercel.app/ |
| Deployed API (backend apis) | https://testtask-incubyte-production.up.railway.app/docs |
| Layer | Platform | URL |
|---|---|---|
| Frontend (UI) | Vercel | test-task-incubyte.vercel.app |
| Backend (API) | Railway | testtask-incubyte-production.up.railway.app |
| Database | Railway Postgres | Private; API uses referenced DATABASE_URL |
| Endpoint | URL |
|---|---|
| Health | GET /api/health |
| OpenAPI / Swagger | /docs |
Vercel build env: VITE_API_URL=https://testtask-incubyte-production.up.railway.app (no trailing slash; the app calls /api/...).
Railway API env: DATABASE_URL (reference Postgres), CORS_ORIGINS must include https://test-task-incubyte.vercel.app (and localhost origins if you still test locally).
On first deploy with an empty database, the API auto-seeds 10,000 employees (AUTO_SEED_ON_STARTUP=true). Migrations run on container start (backend/scripts/railway-start.sh).
Data model
System architecture (local Docker and production)
Requires Docker and Compose.
cp .env.example .env
make up
| Service | URL |
|---|---|
| UI | http://localhost:5173 |
| API docs | http://127.0.0.1:8000/docs |
Stop: Ctrl+C, then make down (add docker compose down -v to reset DB).
If the UI shows missing @mui/* imports after pulling new frontend deps, recreate the frontend service (docker compose up -d --build --force-recreate frontend) or remove the frontend_node_modules volume once.
Compose variables live in .env (see .env.example).
One-time setup:
cd backend && python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
cd ../frontend && npm install
cp frontend/.env.example frontend/.env # VITE_API_URL
make env # creates backend/.env
Postgres on localhost:5432 (e.g. make db-up, wait until healthy), then:
make migrate
make run # API :8000 — separate terminal: make ui for :5173
make seed # optional if DB empty; API also auto-seeds on startup
make test
Makefile all make targets (repo root only)
docker-compose.yml db + API + UI
backend/ FastAPI, Alembic, pytest
frontend/ React, Vite
docs/