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
Purchase orders, supplier shipment intake, and warehouse tracking
Translation pending
BusinessGitHub @jmlm94OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
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 ↗A smart intake form for suppliers + a warehouse tracking dashboard, hosted on Vercel. Suppliers submit every box they ship (one tracking number per box); the team tracks each box from dispatch → in transit → delivered → added in stock. Status changes post to Slack, and a daily cron refreshes carrier tracking automatically.
Built from the Inbound & Outbound Warehouse SOP.
| Route | Who | Purpose |
|---|---|---|
/submit | Suppliers | Strict, per-box intake form. Send this link with every shipment. |
/dashboard | CEO / COO | Live view of every shipment & box, status filters, search. |
/dashboard/[id] | CEO / COO | Per-box detail + manual status updates (warehouse receiving). |
/dashboard/receive | Warehouse | Phone-friendly scan/type a tracking number to receive a box (Station #1). |
/dashboard/products | Team | SKU catalog (name, tier A/B/C) + printable 4×6 QR box labels. |
/api/export | Team | One-click CSV of every box — replaces the Google master sheet. |
/api/cron/refresh-tracking | System | Daily carrier-tracking refresh (Vercel Cron). |
Next.js 14 (App Router) · Prisma + PostgreSQL · Tailwind · Zod · Vercel Cron.
npm install
cp .env.example .env # fill in DATABASE_URL + DASHBOARD_PASSWORD
npm run db:push # create tables
npm run dev # http://localhost:3000
DATABASE_URL automatically.DASHBOARD_PASSWORD — shared password for the dashboard.SLACK_WEBHOOK_URL — (optional) Slack Incoming Webhook for notifications.TRACKING_PROVIDER — easypost or none (default).EASYPOST_API_KEY — (if using EasyPost) one key tracks FedEx/UPS/DHL.CRON_SECRET — any random string; protects the cron endpoint.npx prisma db push locally against the
production DATABASE_URL, or add it as a build step.vercel.json (runs 13:00 UTC).Every status change writes a StatusEvent and posts to Slack
(lib/slack.ts). Sources:
Without SLACK_WEBHOOK_URL set, notifications are logged instead of sent, so
the app runs fine before Slack is wired up.
lib/tracking/ is a pluggable provider. The included EasyPost adapter tracks
all three carriers with a single API key. Set TRACKING_PROVIDER=none to run
manual-only (status updated by warehouse staff at receiving).
SLACK_WEBHOOK_URL — code is ready).