46af911a06
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
1.2 KiB
1.2 KiB
Salon Booking Platform
Scaffolded Django + React starter for a salon booking platform.
Backend
Location: backend/
Setup
- Create a virtualenv and install dependencies.
- Copy
backend/.env.exampletobackend/.envand adjust values. - 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
- Install dependencies via
npm install. - Run
npm run dev.
The dev server proxies /api to http://localhost:8000.
Project Notes
- Known gaps and risks:
docs/risks.md