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
Hour-based PTO requests, approvals, make-up plans, and reporting.
Translation pending
BusinessTypeScript · CSSGitHub @MazenHassan10OnlineOwner 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 ↗Hour-based PTO and make-up approval platform for Preet Patel MD, A PMC.
[email protected].sql/schema.sql.Run:
bun install
bun run dev
Then open:
http://localhost:3000/
Google login requires Better Auth environment variables and a PostgreSQL database.
.env.example to .env.local.BETTER_AUTH_SECRET, BETTER_AUTH_URL, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and DATABASE_URL.http://localhost:3000/api/auth/callback/google
sql/schema.sql against the PostgreSQL database../dev.sh.The first login from [email protected] becomes the protected Admin. Other Google accounts start as Pending until an admin activates them.
LeaveFlow sends email through the Gmail API. Configure these server-side environment variables:
GMAIL_CLIENT_ID=
GMAIL_CLIENT_SECRET=
GMAIL_REFRESH_TOKEN=
GMAIL_FROM_EMAIL=
NEXT_PUBLIC_APP_URL=
CRON_SECRET=
Use a Google Cloud OAuth client with the Gmail API enabled and a refresh token created with offline access and the Gmail send scope. The app sends from GMAIL_FROM_EMAIL.
Request notifications:
Reminder notifications:
vercel.json calls /api/cron/day-before-reminders at 15:00 and 16:00 UTC.CRON_SECRET for authorization and records sends in email_notifications to avoid duplicate reminder emails.Run:
bun run test
The test suite checks PTO hour math, first-admin role assignment, pending users, approval balance deduction, late notice detection, and make-up verification.