mohd 229975c612 docs: revise ADR 0001, risks, and architecture for accuracy
- ADR 0001: distinguish payment/OTP (sync by design) from notifications
  (fire-and-forget); correct misleading claim that notification failures
  surface to clients — they are silently absorbed as FAILED status
- risks.md: upgrade USERNAME_FIELD entry with concrete breakage (admin,
  create_superuser, JWT lookup); add booking overlap race condition with
  root cause and fix (select_for_update)
- architecture.md: document notification/OTP provider coupling as an MVP
  shortcut and note the Phase 2 fix (dedicated NotificationProvider)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:30:04 +03:00
2026-02-28 17:31:03 +03:00
2026-02-28 17:31:03 +03:00
2026-02-28 15:33:18 +03:00
2026-02-28 17:41:00 +03:00

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
S
Description
No description provided
Readme 548 KiB
Languages
Python 74.5%
JavaScript 21.8%
CSS 3.5%
HTML 0.2%