Booking/scheduling SaaS for salons, spas, and barbershops in Kenya
# Bookflow (working name)
A booking/scheduling SaaS for salons, spas, and barbershops in Kenya.
Staff calendars, shareable client self-booking links, WhatsApp/SMS
reminders, and M-Pesa deposit-to-book — built by Kesho Labs.
## Structure
- `backend/` — Express + MongoDB API (auth, services, staff, availability, appointments)
- `frontend/` — Vite + React client (public booking page + staff dashboard)
## Local development
```bash
# Backend
cd backend
npm install
cp .env.example .env # fill in MONGO_URI and JWT_SECRET
npm run dev
# Frontend (separate terminal)
cd frontend
npm install
npm run dev
```
## Deployment
- **Backend → Render**: connect this repo as a Blueprint (`render.yaml` at the
repo root already defines the service). You'll be asked to fill in `MONGO_URI`
(your Atlas connection string) and `CLIENT_URL` (the Vercel URL below) —
`JWT_SECRET` is auto-generated by Render.
- **Frontend → Vercel**: import this repo, set **Root Directory** to `frontend`,
and add an environment variable `VITE_API_URL` pointing at the Render backend
URL (e.g. `
bookflow-backend.onrender.c…`).
Deploy the backend first so you have its URL to give the frontend, then once
the frontend is live, go back to Render and set `CLIENT_URL` to the Vercel URL
so CORS allows requests from it.