Full-stack React + MongoDB. A timezone-correct availability engine, a specialist-picker booking funnel, Stripe pay-on-booking, per-staff agendas, and a services & staff admin — all done. Go or Node backend, your choice.
15
Production screens
30+
REST endpoints
2
Backend editions
DST-safe
Availability engine
Built, tested, documented. Self-host once. Own the code forever.
Details
Version
1.0.0
Last Updated
August 2026
Pricing
Developer
one-time
$199
TeamPopular
one-time
$399
Extended
one-time
$899
Details
Version
1.0.0
Last Updated
August 2026
Pricing
Developer
one-time
$199
TeamPopular
one-time
$399
Extended
one-time
$899
Material UI
Frontend · MUI flavor
17+ production screens
Dark mode + design tokens
DashForge component library
Tailwind CSS
Frontend · Tailwind flavor
Same 17+ screens, utility-first CSS
DashForge/tw tokens — zero MUI dep
Mobile-first, drop-in Tailwind v3
Everything below is already built, tested, and documented. Configure your .env, ship.
payment_intent.succeeded / payment_failed / charge.refunded) confirms the booking independently.@dashforge/rbac.VITE_PROVIDER=mock: the full service → specialist → slot → pay funnel runs without a backend, with realistic latency simulation.This kit is the booking and scheduling core — a starter, not a full vertical SaaS. It deliberately does not include:
The rule: if it makes the app start, it's in; if it's your business domain, it's yours to build — on top of clean, documented foundations.
Two editions, one codebase. The frontend is identical — only the server changes.
| Node Edition | Go Edition | |
|---|---|---|
| Runtime | Express + TypeScript | Go + Gin |
| Starting price | from $199 | from $249 |
| Deploy | npm / PM2 | single static binary |
| Best for | teams already on Node | performance-critical stacks |
Both editions share the same MongoDB schemas, the same API contracts, and the same Stripe integration. Need both? Own one and get 50% off the other — email [email protected] with your purchase id.
Client (both editions) — React 19, TypeScript, Vite, Valtio, Zod, Stripe.js + React Stripe Elements, dark mode + DashForge theme tokens. Ships in two flavors: client/mui/ and client/tailwind/.
Node edition — Express + TypeScript, Mongoose / MongoDB, Stripe Node SDK, JWT + bcrypt.
Go edition — Go + Gin, MongoDB driver (no ORM), Stripe Go SDK, JWT + bcrypt, standalone pkg/rbac.
Every endpoint ships with a Bruno collection so you can exercise the full API in one click.
Requires Node.js 20+, pnpm, MongoDB, and a Stripe account. Go edition also needs Go 1.25+.
# Install
pnpm install && cd client && pnpm install && cd ..
# Configure (pick one edition)
cp server-node/.env.example server-node/.env # Node
cp server/.env.example server/.env # Go
cp client/.env.example client/.env
# Seed demo services + staff (optional)
cd server-node && npm run seed # or: cd server && go run ./cmd/seed
# Start
pnpm devOnce payment completes on Stripe you receive an email to your billing address within minutes containing:
Both the Go and Node server directories are included in the same repository, alongside both frontend flavors (client/mui/ and client/tailwind/). One purchase, one repo, everything in one place.
Questions or access issues? Email [email protected] with your Stripe receipt — we respond within one business day.
Yes — both client/mui/ and client/tailwind/ are included in every tier, regardless of the backend edition you choose. You own both flavors and can ship either one without paying extra.
Yes — Go and Node are priced and sold separately (Node from $199, Go from $249). Use the edition toggle in the pricing widget to pick your stack and see the correct Stripe link. If you later want the other edition, email us with your purchase id for 50% off the matching tier, no expiry.
Slots are computed by a pure, timezone-correct function that is unit-tested against DST boundaries. Bookings are stored in UTC and rendered in the business timezone, so a spring-forward or fall-back day never produces a phantom or missing slot.
The kit ships with MongoDB out of the box. If you need PostgreSQL, tell us at purchase time and we will integrate a PostgreSQL data layer for you, free of charge — same screens, same API contracts, same Stripe flow. Only the persistence layer changes.
Team and Extended tiers include live sessions where we work directly on your codebase — not a generic walkthrough. Typical use cases: adapting RBAC roles, wiring a custom payment flow, integrating existing auth, or adjusting the availability rules. Team = 2 h, Extended = 4 h. Sessions scheduled via email after purchase.
Yes. Developer tier: 1 developer, 1 booking app, 1 production deployment. Team: up to 5 developers, up to 3 deployments. Extended: unlimited developers, unlimited deployments, plus white-label rights to remove all DashForge branding.
Yes — pay the difference, get the new tier. Email [email protected] with your purchase id. No expiry on upgrades.
No — source code is delivered immediately upon purchase, so a traditional refund is not possible. What we guarantee instead: if you find a bug in the kit code, we fix it. Team and Extended buyers also get a direct support commitment so you are never blocked on setup or integration.
The client requires Node.js 20+ and pnpm, and runs React 19 with Vite. The Go edition requires Go 1.25+. The Node edition server requires Node.js 20+.
Booking Kit handles the scheduling and payment side. If you also need registration, login, TOTP 2FA, and password reset, Registration Kit is the natural companion — same React + provider architecture, designed to work alongside this kit.
Ships under a commercial license — Developer, Team, and Extended tiers. See the license page for full terms and what each tier allows.