Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Manage employee salaries for a large workforce
Translation pending
AI summary · README
BusinessPython · TypeScriptGitHub @pankaj-oxitOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
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/...).Read the full 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/