How nkaka23dev/employee-microservices works
Employee Mgts is a .NET employee-management microservices system. Its main workflow exposes employee operations through the REST API, delegates employee requests to the application service, and returns API responses; authentication adds registration, login, token refresh and revocation. Benefits are also exposed through a SOAP service. Separate payroll and time-tracking services support payroll creation and a synchronous time-tracking notification. The tree and excerpts support these main boundaries, but do not establish RabbitMQ usage or detailed gateway routes, so those connections are not shown.
Main entry points: AuthService.cs Authentication service · EmployeeController.cs Employee controller · BenefitService.cs Benefit SOAP service · PayrollController.cs Payroll controller
Components 24
API entry
- API gateway
ApiGateway/Program.cs
Employee API
- Employee REST API
TheEmployeeAPI/WebAPI/Program.cs - Employee controller
TheEmployeeAPI/WebAPI/Controllers/EmployeeController.cs - Employee service
TheEmployeeAPI/Application/Employees/Services/EmployeeService.cs - Employee repository
Core/Infrastructure/Repositories/EmployeeRespository.cs - Authentication controller
TheEmployeeAPI/WebAPI/Controllers/AuthController.cs - Authentication service
TheEmployeeAPI/Application/Authentication/Services/AuthService.cs - Token service
TheEmployeeAPI/Application/Authentication/Services/TokenService.cs - Authentication repository
Core/Infrastructure/Repositories/AuthRepository.cs - User repository
Core/Infrastructure/Repositories/UserRepository.cs - Employee database
Core/Infrastructure/DbContexts/AppDbContext.cs
Benefits
- Benefit controller
TheEmployeeAPI/WebAPI/Controllers/BenefitController.cs - Benefit SOAP service
BenefitSoapService/Services/BenefitService.cs - SOAP contract
BenefitSoapService/Contacts/BenefitContract.cs - Benefit repository
Core/Infrastructure/Repositories/BenefitRepository.cs
Payroll and time
- Payroll controller
PayrollService/Controllers/PayrollController.cs - Payroll repository
PayrollService/Data/PayrollRepo.cs - Payroll database
PayrollService/Data/AppDbContext.cs - Time-tracking HTTP client
PayrollService/SyncDataService/Http/HttpTimeTrackingDataClient.cs - Time-tracking service
TimeTrackingService/Controllers/PayrollController.cs
Other services
- User service
UserService/Program.cs - Department service
DepartmentService/Program.cs
Other components
- Frontend / API client
- Identity store
Connections 18
- Frontend / API client → API gateway: sends requests
- API gateway → Employee REST API: routes requests
- Employee REST API → Employee controller: maps routes
- Employee controller → Employee service: calls
- Authentication controller → Authentication service: calls
- Authentication service → Authentication repository: calls
- Authentication service → User repository: checks usernames
- Authentication service → Token service: generates tokens
- Authentication service → Employee database: starts transaction
- Authentication repository → Identity store: manages users
- Employee controller → Benefit controller
- Benefit controller → Employee service: gets employee benefits
- Benefit SOAP service → SOAP contract: implements contract
- Benefit SOAP service → Benefit repository
- Payroll controller → Payroll repository: reads and saves
- Payroll repository → Payroll database: reads and writes
- Payroll controller → Time-tracking HTTP client: sends payroll
- Time-tracking HTTP client → Time-tracking service: posts payroll