How akashraajputh/healthcare_booking_payment_platform works
EVE is a FastAPI diagnostic-booking API. A client discovers centres, tests, and centre-specific prices; authenticates; creates a future booking at the server-derived price; then simulates payment or receives a provider webhook that updates the booking. Users can list, inspect, and cancel their own pending bookings, while admins manage the catalogue. The graph reflects documented route capabilities and sampled service logic; unsampled route internals are represented conservatively.
Main entry points: main.py FastAPI app · database.py Async DB sessions · payment_service.py Payment operations · booking_service.py Booking operations
Components 20
API surface
- FastAPI app
app/main.py - Auth routes
app/api/routes/auth.py - Centre routes
app/api/routes/centres.py - Test routes
app/api/routes/tests.py - Booking routes
app/api/routes/bookings.py - Payment routes
app/api/routes/payments.py - Health checks
app/main.py
Booking and payments
- Booking operations
app/services/booking_service.py - Payment operations
app/services/payment_service.py
Identity and access
- Auth operations
app/services/auth_service.py - Token and roles
app/api/dependencies.py - Password and JWT
app/core/security.py
Persistence
- Bookings
app/models/booking.py - Payments
app/models/payment.py - Webhook events
app/models/webhook_event.py - Users
app/models/user.py - Async DB sessions
app/core/database.py - PostgreSQL
Other components
- Client
- Payment provider
Connections 25
- Client → FastAPI app: sends requests
- Payment provider → Payment routes: posts webhook
- FastAPI app → Auth routes: mounts router
- FastAPI app → Centre routes: mounts router
- FastAPI app → Test routes: mounts router
- FastAPI app → Booking routes: mounts router
- FastAPI app → Payment routes: mounts router
- FastAPI app → Health checks: serves checks
- Auth routes → Auth operations: calls
- Auth operations → Password and JWT: hashes and verifies
- Auth operations → Users: reads and writes
- Token and roles → Password and JWT: decodes token
- Token and roles → Users: loads active user
- Centre routes → Async DB sessions: uses session
- Test routes → Async DB sessions: uses session
- Booking routes → Booking operations: calls
- Booking operations → Bookings: creates and queries
- Booking operations → Async DB sessions: queries and commits
- Payment routes → Payment operations: calls
- Payment operations → Bookings: checks and updates
- Payment operations → Payments: creates payment
- Payment operations → Webhook events: records event
- Payment operations → Async DB sessions: transacts
- Async DB sessions → PostgreSQL: connects
- Health checks → Async DB sessions: checks readiness