How medicore-project/medicore-backend works
MediCore is a healthcare-services backend, with a gateway in front of identity, patient, appointment, and billing capabilities. The clearest sampled flow is staff or patient API requests into appointment handling, including waitlist operations and appointment queries backed by repositories; other listed modules provide scheduling, clinical records, billing, and reporting. The README is empty, and source excerpts are selective, so several product branches are represented from the file tree without speculative call edges.
Main entry points: Program.cs Gateway Proxy · AllergiesController.cs Patient API · AppointmentsController.cs Appointment API · InvoicesController.cs Billing API
Components 22
Gateway
- Gateway Proxy
src/gateway/MediCore.Gateway/Program.cs
Identity
- Identity API
src/services/identity/MediCore.Identity.Api/Controllers/StaffController.cs - Staff Repository
src/services/identity/MediCore.Identity.Infrastructure/Persistence/Repositories/StaffRepository.cs
Patient Records
- Patient API
src/services/patient/MediCore.Patient.Api/Controllers/AllergiesController.cs - Patient Search
src/services/patient/MediCore.Patient.Application/Services/PatientSearchService.cs - Patient Repository
src/services/patient/MediCore.Patient.Infrastructure/Persistence/Repositories/PatientRepository.cs - Medical Records
src/services/patient/MediCore.Patient.Api/Controllers/MedicalRecordsController.cs
Appointments
- Appointment API
src/services/appointment/MediCore.Appointment.Api/Controllers/AppointmentsController.cs - Booking Lifecycle
src/services/appointment/MediCore.Appointment.Application/Services/AppointmentBookingService.cs - Appointment Queries
src/services/appointment/MediCore.Appointment.Application/Services/AppointmentQueryService.cs - Appointment Store
src/services/appointment/MediCore.Appointment.Infrastructure/Persistence/Repositories/AppointmentRepository.cs - Waitlist API
src/services/appointment/MediCore.Appointment.Api/Controllers/WaitlistController.cs - Waitlist Services
src/services/appointment/MediCore.Appointment.Application/Services/WaitlistService.cs - Waitlist Changes
src/services/appointment/MediCore.Appointment.Application/Services/WaitlistChangeService.cs - Slot Scheduling
src/services/appointment/MediCore.Appointment.Application/Scheduling/SlotGenerator.cs - Event Messaging
src/services/appointment/MediCore.Appointment.Infrastructure/Messaging/OutboxProcessor.cs - Utilisation Reports
src/services/appointment/MediCore.Appointment.Application/Services/UtilisationReportService.cs
Billing
- Billing API
src/services/billing/MediCore.Billing.Api/Controllers/InvoicesController.cs - Invoice Queries
src/services/billing/MediCore.Billing.Application/Services/InvoiceQueryService.cs - Billing Reports
src/services/billing/MediCore.Billing.Infrastructure/Reporting/RevenueReportQuery.cs - Service Tariffs
src/services/billing/MediCore.Billing.Api/Controllers/ServiceTariffsController.cs
Other components
- API Client
Connections 17
- API Client → Gateway Proxy: sends requests
src/gateway/MediCore.Gateway/Program.cs - Gateway Proxy → Identity API: proxies requests
- Gateway Proxy → Patient API: proxies requests
- Gateway Proxy → Appointment API: proxies requests
- Gateway Proxy → Billing API: proxies requests
- Identity API → Staff Repository: reads and writes
src/services/identity/MediCore.Identity.Api/Controllers/StaffController.cs - Patient API → Patient Search: searches patients
- Patient API → Medical Records: serves records
- Patient Search → Patient Repository: queries repository
src/services/patient/MediCore.Patient.Application/Services/PatientSearchService.cs - Appointment API → Booking Lifecycle: handles bookings
- Appointment API → Appointment Queries: queries appointments
- Appointment Queries → Appointment Store: queries repository
src/services/appointment/MediCore.Appointment.Application/Services/AppointmentQueryService.cs - Waitlist API → Waitlist Services: gets waitlists
src/services/appointment/MediCore.Appointment.Api/Controllers/WaitlistController.cs - Waitlist API → Waitlist Changes: changes entries
src/services/appointment/MediCore.Appointment.Api/Controllers/WaitlistController.cs - Billing API → Invoice Queries: queries invoices
- Invoice Queries → Billing Reports: supports reporting
- Billing API → Service Tariffs: manages tariffs