How kelsengile/appointmed works
AppointMed is a clinic appointment and management system: patients submit public booking requests, while role-authorized staff review requests and manage visits through examination and payment. The shared FastAPI backend serves a React portal and persists clinic records in MySQL. The graph preserves documented clinical and administrative capabilities; several unsampled service relationships are shown as unverified rather than inferred from names. Connections between sampled modules use the source index or excerpts, and documented product flows cite the README.
Main entry points: appointment_service.py Visit lifecycle · repositories Repositories · staff_routes.py Staff routes · admin_routes.py Admin routes
Components 25
Web experience
- React application
source/frontend/src/app.tsx - Public pages
source/frontend/src/pages - Staff portal
source/frontend/src/pages/staff - Admin pages
source/frontend/src/pages/admin - Session context
source/frontend/src/context/AuthContext.tsx - API client
source/frontend/src/api/client.ts
API and access
- FastAPI app
source/main.py - Public routes
source/backend/routes/public_routes.py - Staff routes
source/backend/routes/staff_routes.py - Admin routes
source/backend/routes/admin_routes.py - Authentication
source/backend/services/auth_service.py - Access control
source/backend/core/security.py
Clinic workflows
- Booking and scheduling
source/backend/services/booking_service.py - Visit lifecycle
source/backend/services/appointment_service.py - Check-in queue
source/backend/services/waiting_queue.py - Exams and billing
source/backend/services/billing_service.py - Patient records
source/backend/services/patient_service.py
Administration
- Admin operations
source/backend/services/admin_service.py - Reports and dashboard
source/backend/services/dashboard_service.py - Backup and database tools
source/backend/services/database_service.py
Data layer
- Repositories
source/backend/repositories - Roles and status model
source/backend/models/domain.py - Clinic database
source/backend/core/database.py
Other components
- Patient
- Clinic staff
Connections 41
- Patient → Public pages: uses
README.md - Clinic staff → Staff portal: uses
README.md - Public pages → React application: routes through
source/frontend/src/app.tsx - Staff portal → React application: routes through
source/frontend/src/app.tsx - Admin pages → React application: routes through
source/frontend/src/app.tsx - React application → Session context: uses
source/frontend/src/app.tsx - Session context → API client: calls
source/frontend/src/context/AuthContext.tsx - Public pages → API client: requests data
- Staff portal → API client: requests data
- Admin pages → API client: requests data
source/frontend/src/pages/admin/DatabasePage.tsx - API client → FastAPI app: HTTP requests
README.md - FastAPI app → Public routes: registers
source/main.py - FastAPI app → Staff routes: registers
source/main.py - FastAPI app → Admin routes: registers
source/main.py - Public routes → Booking and scheduling: calls
source/backend/routes/public_routes.py - Public routes → Patient records: calls
source/backend/routes/public_routes.py - Public routes → Visit lifecycle: handles requests
- Staff routes → Visit lifecycle: calls
source/backend/routes/staff_routes.py - Staff routes → Reports and dashboard: calls
source/backend/routes/staff_routes.py - Staff routes → Exams and billing: calls
source/backend/routes/staff_routes.py - Admin routes → Admin operations: calls
source/backend/routes/admin_routes.py - Admin routes → Reports and dashboard: calls
source/backend/routes/admin_routes.py - Admin routes → Backup and database tools: calls
- Staff routes → Access control: checks features
source/backend/routes/staff_routes.py - Admin routes → Access control: checks features
source/backend/routes/admin_routes.py - Authentication → Access control: creates tokens
source/backend/services/auth_service.py - Visit lifecycle → Check-in queue: uses
- Booking and scheduling → Repositories: reads and writes
- Visit lifecycle → Repositories: reads and writes
source/backend/services/appointment_service.py - Authentication → Repositories: reads and writes
source/backend/services/auth_service.py - Admin operations → Repositories: reads and writes
source/backend/services/admin_service.py - Reports and dashboard → Repositories: queries
source/backend/services/dashboard_service.py - Backup and database tools → Repositories: uses
source/backend/services/database_service.py - Repositories → Clinic database: executes queries
source/backend/repositories/appointment_repository.py - Visit lifecycle → Roles and status model: enforces visit states
source/backend/services/appointment_service.py - Access control → Roles and status model: checks role access
source/backend/core/security.py - Patient → Booking and scheduling: requests appointment
README.md - Booking and scheduling → Visit lifecycle: review and schedule
README.md - Visit lifecycle → Exams and billing: advances visit
README.md - Exams and billing → Patient records: records visit
README.md - Clinic staff → Admin pages: administers clinic
README.md