How juanlotero2552/booking-therapy works
Vis Vitalis connects therapy clients with independent therapists through discovery, appointment scheduling and booking, while supporting therapist profile and schedule management. The React app routes clients and therapists into these journeys; Django provides the principal API domains, with separate Flask agenda and payment services also present. The booking-to-payment call is directly evidenced in the agenda service. The README documents therapist, appointment and product APIs; product handling is represented by the available booking adapter, but its runtime wiring is not established by the sampled source.
Main entry points: routes.tsx Page routing · App.tsx React app · services.py Order processing · views.py Auth API
Components 25
Web experience
- React app
frontend/src/app/App.tsx - Page routing
frontend/src/app/routes.tsx - Therapist discovery
frontend/src/app/pages/TherapistSearch.tsx - Therapist profile
frontend/src/app/pages/TherapistProfile.tsx - Booking flow
frontend/src/app/pages/BookingFlow.tsx - Client dashboard
frontend/src/app/pages/ClientDashboard.tsx - Therapist schedule
frontend/src/app/pages/TherapistSchedule.tsx - Therapist sessions
frontend/src/app/pages/TherapistSessions.tsx
Identity
- Frontend auth
frontend/src/app/context/AuthContext.tsx - Supabase auth
backend/src/auth_supabase/infrastructure/supabase_client.py - Auth API
backend/src/auth_supabase/api/views.py - Profile persistence
backend/src/auth_supabase/infrastructure/django_repositories.py
Therapy operations
- Agenda API
backend/src/agenda/api/views.py - Booking services
backend/src/agenda/application/services.py - Agenda persistence
backend/src/agenda/infrastructure/repositories.py - Agenda service
agenda-service/api/routes.py - Slot and booking logic
agenda-service/application/services.py
Payments and products
- Payment API
payments-service/api/routes.py - Order processing
payments-service/application/services.py - Payment processor
payments-service/infrastructure/processors.py - Order persistence
payments-service/infrastructure/persistence/repositories.py - Django payments
backend/src/payments/application/services.py - Product adapter
backend/booking/adapters/product_adapter.py
Other components
- Client
- Therapist
Connections 22
- Client → React app: uses
- Therapist → React app: uses
- React app → Page routing: renders
- Page routing → Therapist discovery: routes to
- Page routing → Therapist profile: routes to
- Page routing → Booking flow: routes to
- Page routing → Client dashboard: routes to
- Page routing → Therapist schedule: routes to
- Page routing → Therapist sessions: routes to
- React app → Frontend auth: provides auth
- Frontend auth → Supabase auth: authenticates via
- Auth API → Supabase auth: uses provider
- Auth API → Profile persistence: reads and writes
- Agenda API → Booking services: invokes
- Booking services → Agenda persistence: persists appointments
- Agenda API → Agenda persistence: queries agenda
- Agenda service → Slot and booking logic: invokes booking
- Slot and booking logic → Payment API: posts payment
- Payment API → Order processing: invokes
- Order processing → Payment processor: charges through
- Order processing → Order persistence: saves orders
- Django payments → Product adapter: uses adapter