How governmentbg/epro_2021 works
EPRO is a judicial recusals (dismissal/self-recusal) registry with public and administrative web interfaces and a court-system REST API. The main workflows accept or manage dismissal records, validate and persist them, and expose them for search or exchange; related capabilities include account administration, nomenclatures, audit logging, and attached files. The diagram separates interfaces, domain services, infrastructure, and persistence. The README gives no architecture detail, so relationships rely on the supplied excerpts and SOURCE INDEX; unsampled subsystems are represented only where the tree supports a path.
Main entry points: Repository.cs Repository · Admin/Controllers Admin web · Public/Controllers Public web · ApiService.cs Court exchange
Components 18
User interfaces
- Admin web
EPRO/Areas/Admin/Controllers - Public web
EPRO/Areas/Public/Controllers - REST API
EPRO.Api/Controllers/DismissalController.cs - API authentication
EPRO.Api/Authentication
Domain services
- Dismissal management
EPRO.Core/Services/DismissalService.cs - Court exchange
EPRO.Core/Services/ApiService.cs - Accounts
EPRO.Core/Services/AccountService.cs - Nomenclatures
EPRO.Core/Services/NomenclatureService.cs - Audit logging
EPRO.Core/Services/AuditLogService.cs
Infrastructure
- File service
EPRO.Infrastructure/Services/CdnService.cs - Repository
EPRO.Infrastructure/Data/Common/Repository.cs
Persistence
- Database context
EPRO.Infrastructure/Data/ApplicationDbContext.cs - Dismissal records
EPRO.Infrastructure/Data/Models/Common/Dismissal.cs - Nomenclature records
EPRO.Infrastructure/Data/Models/Nomenclatures - File storage
EPRO.Infrastructure/ViewModels/Cdn
Other components
- Court user
- Public user
- Court software
Connections 27
- Court user → Admin web: manages records
EPRO/Areas/Admin/Controllers/DismissalController.cs - Public user → Public web: searches records
EPRO/Areas/Public/Controllers/PublicController.cs - Court software → REST API: submits requests
EPRO.Api/Controllers/DismissalController.cs - REST API → API authentication: requires authentication
- REST API → Court exchange: dispatches requests
EPRO.Api/Controllers/DismissalController.cs - Admin web → Dismissal management: manages dismissals
EPRO/Areas/Admin/Controllers/DismissalController.cs - Public web → Dismissal management: searches dismissals
EPRO/Areas/Public/Controllers/PublicController.cs - Admin web → Nomenclatures: loads options
EPRO/Areas/Admin/Controllers/DismissalController.cs - Public web → Nomenclatures: loads options
EPRO/Areas/Public/Controllers/PublicController.cs - Admin web → Accounts: manages accounts
EPRO/Areas/Admin/Controllers/AccountController.cs - Public web → Accounts: authenticates users
EPRO/Areas/Public/Controllers/AccountController.cs - Admin web → Audit logging: records operations
EPRO/Areas/Admin/Controllers/AccountController.cs - Admin web → File service: accesses attachments
EPRO/Areas/Admin/Controllers/DismissalController.cs - Public web → File service: accesses attachments
EPRO/Areas/Public/Controllers/PublicController.cs - Court exchange → Dismissal management: uses dismissal data
EPRO.Core/Services/ApiService.cs - Court exchange → Nomenclatures: validates codes
EPRO.Core/Services/ApiService.cs - Court exchange → File service: handles attachments
EPRO.Core/Services/ApiService.cs - Dismissal management → Repository: queries and saves
EPRO.Core/Services/DismissalService.cs - Court exchange → Repository: queries and saves
EPRO.Core/Services/ApiService.cs - Nomenclatures → Repository: queries records
- Accounts → Repository: queries records
- Audit logging → Repository: stores events
- File service → Repository: stores file metadata
EPRO.Infrastructure/Services/CdnService.cs - Repository → Database context: uses context
EPRO.Infrastructure/Data/Common/Repository.cs - Database context → Dismissal records: maps records
- Database context → Nomenclature records: maps records
- File service → File storage: stores file content
EPRO.Infrastructure/Services/CdnService.cs