AI receptionist and booking assistant for South African small businesses
# AI Receptionist SA
A clean MVP foundation for a South African AI receptionist and booking assistant for small businesses.
Core promise: **Never miss another customer.**
## Stack
- React + Vite frontend
- FastAPI backend
- Pydantic models
- Environment variable support
- Simple in-memory MVP data store
## Project Structure
```text
ai-receptionist-sa/
backend/
app/
api/
core/
models/
services/
main.py
requirements.txt
.env.example
frontend/
src/
components/
pages/
App.jsx
main.jsx
package.json
.env.example
```
## Local Setup
### Backend
```bash
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload
```
Backend runs on `
localhost`.
### Frontend
```bash
cd frontend
npm install
npm run dev
```
Frontend runs on `
localhost`.
## Environment Variables
Copy the example files before running locally:
```bash
copy backend\.env.example backend\.env
copy frontend\.env.example frontend\.env
```
## API Routes
- `GET /health`
- `GET /api/business-profile`
- `POST /api/business-profile`
- `GET /api/bookings`
- `POST /api/bookings`
- `POST /api/chat`
## Deployment Notes
- Frontend is ready for Vercel: build command `npm run build`, output directory `dist`.
- Backend is ready for Railway: start command `uvicorn app.main:app --host 0.0.0.0 --port $PORT`.
- Replace the in-memory store with a database when moving past MVP.