Full-stack API-based healthcare MVP for clinic/polyclinic workflows.
- Slot management
- Patient bookings
- Clinical report upload/download
- Operational and economic dashboard
- Reproducible local runtime with Docker Compose
- Backend: ASP.NET Core Web API (.NET 8), EF Core, PostgreSQL
- Frontend: Angular SPA, Nginx
- Identity: Keycloak (OIDC/JWT, RBAC)
- File storage: MinIO (S3-compatible)
- Runtime: Docker Compose
- RBAC:
patient,operator,doctor,admin - Double-booking protection on bookings
- Overlap prevention for slots of the same doctor
- Report access with ownership/staff checks
- PDF-only report upload
- Audit logging for relevant operations
- Economic tracking with
BasePrice,BookedPrice,PaymentStatus,PaidAt - Staff dashboard with operational and economic KPIs
- Backend tests on API, services, auth and PostgreSQL booking consistency
- Frontend unit tests with Jest for guards, API client and core UI behavior
- Web:
http://localhost:4200 - API:
http://localhost:8080 - Swagger:
http://localhost:8080/swagger - Keycloak:
http://localhost:8081 - MinIO:
http://localhost:9000(console:9001) - PostgreSQL:
localhost:5432
docker compose up -ddocker compose --profile full up -d --builddocker compose --profile full downpatient1 / Password!23operator1 / Password!23doctor1 / Password!23- Keycloak admin:
admin / admin
GET /api/slotsPOST /api/slots
POST /api/bookingsGET /api/bookings/myDELETE /api/bookings/{id}POST /api/bookings/{id}/completePOST /api/bookings/{id}/mark-paid
POST /api/reports/uploadGET /api/reports/myGET /api/reports/{id}/download
GET /api/analytics/economics
cd backend/src/MedCareHub.Api
dotnet restore
dotnet runcd frontend
npm install
npm startdotnet test tests/MedCareHub.Api.Tests/MedCareHub.Api.Tests.csprojcd frontend
npm install
npm testcd frontend
npm ci
npm run test:ciCurrent frontend unit tests cover:
AuthGuardRoleGuardApiClientAppComponentBookingsPageComponent
Frontend tests are implemented with Jest and jest-preset-angular, with a mock for keycloak-js to keep unit tests isolated from the real identity provider adapter.
This project is intended for academic/demo use, not production deployment without further hardening, monitoring, and compliance work.

