68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
# Salon Booking Platform
|
|
|
|
Scaffolded Django + React starter for a salon booking platform.
|
|
|
|
## Backend
|
|
|
|
Location: `backend/`
|
|
|
|
### Setup
|
|
|
|
1. Create a virtualenv and install dependencies.
|
|
- `python3 -m venv venv && source venv/bin/activate` (or `venv\Scripts\activate` on Windows)
|
|
- `pip install -r backend/requirements.txt -r backend/requirements-dev.txt`
|
|
2. Copy `backend/.env.example` to `backend/.env` and adjust values.
|
|
3. Run migrations and start the server.
|
|
|
|
### Demo data
|
|
|
|
After migrations, you can seed demo data:
|
|
|
|
- `python manage.py seed_demo`
|
|
|
|
### Tests
|
|
|
|
- From project root with venv active: `venv/bin/python3 -m pytest` (run from `backend/` so `pytest.ini` is picked up)
|
|
- External provider tests are skipped by default; run explicitly when needed: `PYTEST_ADDOPTS='' venv/bin/python3 -m pytest -m external`
|
|
|
|
### Core API endpoints (current scaffold)
|
|
|
|
- `POST /api/auth/register/`
|
|
- `POST /api/auth/token/`
|
|
- `POST /api/auth/token/refresh/`
|
|
- `GET/PATCH /api/auth/me/`
|
|
- `POST /api/auth/otp/request/`
|
|
- `POST /api/auth/otp/verify/`
|
|
- `POST /api/auth/phone/request/`
|
|
- `POST /api/auth/phone/verify/`
|
|
- `POST /api/auth/social/<provider>/` (placeholder)
|
|
- `GET /api/salons/`
|
|
- `GET /api/salons/<id>/`
|
|
- `GET /api/salons/<id>/services/`
|
|
- `GET /api/salons/<id>/staff/`
|
|
- `GET /api/salons/<id>/reviews/`
|
|
- `GET/POST /api/bookings/`
|
|
- `GET /api/bookings/<id>/`
|
|
- `GET/POST /api/payments/`
|
|
|
|
## Frontend
|
|
|
|
Location: `frontend/`
|
|
|
|
### Setup
|
|
|
|
1. Install dependencies via `npm install`.
|
|
2. Run `npm run dev`.
|
|
|
|
### Tests
|
|
|
|
- `npm run test`
|
|
|
|
The dev server proxies `/api` to `http://localhost:8000`.
|
|
|
|
## Project Notes
|
|
|
|
- Known gaps and risks: `docs/risks.md`
|
|
- Architecture and async/observability decisions: `docs/architecture.md`
|
|
- Documentation index and standards: `docs/README.md` and `docs/documentation.md`
|