How dev-gi0/gerenciador-de-clinica-medica works
A .NET REST backend for clinic operations: authenticated users manage doctors, patients, appointments and services; users can also log in and recover passwords by email code. The main request flow is API controller → MediatR command/query handler → repository abstraction → EF-backed persistence, with results returned as view models. The tree and README establish additional CRUD and recovery capabilities, but sampled source only confirms selected controller dispatch, one query handler, and token generation; uncertain handler-to-integration wiring is omitted.
Main entry points: Repositories Repository contracts · Controllers REST controllers · Commands Clinic handlers · Queries Clinic queries
Components 18
API
- REST controllers
GerenciadorDeClinica.API/Controllers
Application
- Clinic handlers
GerenciadorDeClinica.Application/Commands - Clinic queries
GerenciadorDeClinica.Application/Queries - Login handlers
GerenciadorDeClinica.Application/Commands/LoginCommands - Recovery handlers
GerenciadorDeClinica.Application/Commands/RecuperarSenhaCommands - Command validation
GerenciadorDeClinica.Application/Commands - Result models
GerenciadorDeClinica.Application/Models/ViewModels
Domain
- Clinic entities
GerenciadorDeClinica.Core/Entities - Repository contracts
GerenciadorDeClinica.Core/Repositories
Infrastructure
- EF repositories
GerenciadorDeClinica.Infrastructure/Persistence/Repositories - EF context
GerenciadorDeClinica.Infrastructure/Persistence/GerenciadorDeClinicaDbContext.cs - JWT auth service
GerenciadorDeClinica.Infrastructure/Security/AuthService.cs - Email service
GerenciadorDeClinica.Infrastructure/Notifications/EmailService.cs
Other components
- Clinic user
- MediatR
- SQL Server
- SendGrid
- HTTP response
Connections 20
- Clinic user → REST controllers: sends request
- REST controllers → MediatR: sends command/query
- MediatR → Clinic handlers: dispatches commands
- MediatR → Clinic queries: dispatches queries
- MediatR → Login handlers: dispatches login
- MediatR → Recovery handlers: dispatches recovery
- Clinic handlers → Command validation: validates inputs
- Clinic handlers → Repository contracts: uses repositories
- Clinic queries → Repository contracts: queries repositories
- Clinic queries → Result models: maps results
- Repository contracts → EF repositories: implemented by
- EF repositories → EF context: uses context
- EF context → SQL Server: reads/writes
- Login handlers → Repository contracts: uses user repository
- Login handlers → JWT auth service: generates token
- Recovery handlers → Repository contracts: uses user repository
- Recovery handlers → Email service: sends recovery email
- Email service → SendGrid: delivers email
- REST controllers → HTTP response: returns HTTP result
- Clinic entities → Repository contracts: defines repository data