Files
Salon/README.md
T
mohd 46af911a06 I proceeded with Phase 1 step 1 (phone-first auth + OTP hardening) and updated the plan context. Here’s the current state and the next steps.
What I implemented

Phone-first auth endpoints with OTP → JWT issuance.
views.py
urls.py
Phone normalization (KSA-focused, E.164 or Saudi mobile) and validation.
phone.py
serializers.py
OTP protections: rate limit, resend cooldown, attempt counting.
otp.py
models.py
Email is now optional to allow phone-only users.
models.py
0002_phone_auth_fields.py
Admin OTP visibility improved.
admin.py
Risks updated.
risks.md
2026-02-27 15:57:09 +03:00

55 lines
1.2 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.
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`
### 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`.
The dev server proxies `/api` to `http://localhost:8000`.
## Project Notes
- Known gaps and risks: `docs/risks.md`