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 onboarding, leave requests, schedule changes and access for a team in one place
AI summary · website content
BusinessTypeScript · CSSGitHub @vlad-freittyOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Internal HR system for the Octopos holding (FREITTY, NETQOR, YBIS). Next.js 15 + TypeScript, PostgreSQL + Prisma, Auth.js (email + password), next-intl (UA/EN), Tailwind, Vitest.
npm install
cp .env.example .env # set AUTH_SECRET (any long random string)
npm run db # terminal 1: local PostgreSQL on :5433, keep it running
npx prisma migrate deploy # terminal 2
npm run db:seed
npm run dev # http://localhost:3000 → "Dev login" → pick a user (or npm run admin:create)
npm run worker # background jobs: daily balances, overdue notices, Telegram bot
Seeded users (fake): superadmin [email protected], CEO [email protected], dept heads
[email protected] / [email protected], users agent.*@example.test, [email protected].
Import fixtures for trying the CSV import: prisma/fixtures/ (org → employees-50 → rates).
npm test # needs `npm run db` running; uses the people_os_test database
AUTH_SECRET, AUTH_URL (https), DATABASE_URL. DEV_LOGIN has no effect in production.npm run admin:create -- --email [email protected] --name "First Last" prints a
one-time password; sign in and set your own. Everyone else gets access from Доступи (/access, superadmin and HR).
Forgotten admin password: npm run admin:create -- --email [email protected] --reset.npx prisma migrate deploy → npm run db:upgrade (roles, absence types, policies, starter
templates — no fake data; never run db:seed there) → npm run admin:create. Run them from any machine with
DATABASE_URL pointing to that database (Vercel has no shell).npx prisma migrate deploy, then npm run db:upgrade. On Vercel this is automatic: the
vercel-build script (scripts/vercel-build.mjs) runs both on every production deploy, then next build.docker build -t people-os . — the container runs prisma migrate deploy on start.docker build --target worker -t people-os-worker . — daily balances, overdue notices,
Telegram delivery. Telegram needs TELEGRAM_BOT_TOKEN and TELEGRAM_BOT_USERNAME (see .env.example).Decisions, deviations from the PRD and open questions: see CLAUDE.md.