by Abdullah Asif

Full-stack appointment booking system with React frontend and Express backend. Features a monthly calendar, time slot selection, service picker, and confirmation flow—perfect for barbershops, clinics, or coaching services. Uses TypeScript throughout with file-based JSON storage, no database setup required. Licensed under Tetrees License.
A full-stack booking and appointment scheduler built with TypeScript. This chain includes a React frontend with an interactive calendar interface and a Node.js/Express backend API for managing services, time slots, and bookings. Perfect for service-based businesses that need to offer online appointment scheduling.
Frontend:
Backend:
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS, Framer Motion, React Router |
| Backend | Node.js, Express 4, TypeScript, Helmet, express-rate-limit |
| Database | JSON flat-file (readDb/writeDb) |
| ID Generation | UUID v4 |
| Build Tools | Vite (frontend), ts-node/nodemon (backend) |
cd backend
npm install
npm run build
npm start
Server runs on port 9103 by default.
Development mode:
npm run dev
Environment Variables:
PORT=9103 # Optional, defaults to 9103
cd frontend
npm install
npm run dev
Starts dev server (typically on http://localhost:5173).
Build for production:
npm run build
Run tests:
npm test # Single run
npm run test:watch # Watch mode
Base URL: http://localhost:9103
All responses use envelope format: { "data": ... } or { "error": "<message>" }
GET /api/health
Returns server health status and timestamp.
curl http://localhost:9103/api/health
Response:
{
"status": "ok",
"timestamp": "2025-06-15T10:00:00.000Z"
}
GET /api/services
List all available services.
curl http://localhost:9103/api/services
Response:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Tree Trimming",
"description": "Professional tree trimming and shaping",
"duration": 60,
"price": 150,
"icon": "scissors"
}
]
}
GET /api/services/:id
Get a single service by UUID.
curl http://localhost:9103/api/services/550e8400-e29b-41d4-a716-446655440000
GET /api/time-slots?serviceId=<id>&date=<YYYY-MM-DD>
Get available time slots for a service on a specific date.
POST /api/bookings
Create a new booking.
GET /api/bookings
List all bookings.
GET /api/bookings/:id
Get a specific booking by ID.
GET /api/stats
Get booking statistics.
Tetrees License
Spin up an isolated sandbox and run it server-side — no local setup.
The sandbox audition completed and the detected runnable path passed.
This Express backend / api completed archive review with strong static results. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately. Final verified scores after isolated runtime evidence: overall 8.8 and security 9.
Deterministic AVCP artifact review
Pipeline avcp-2026-08-04.1 · SHA-256 927892ec638cfddf…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
Reviewed Aug 7, 2026
The full install guide and integration prompts unlock after purchase.
Push this product straight into your AI IDE, web builder or cloud IDE.
Connect Tetrees to a compatible AI IDE, list products you own, and request the verified ZIP without exposing seller upload controls.
No reviews yet.
Sign in to join the discussion
Loading discussion…

Mobile App Templates & App Source Code
$19.54