How kahoccode/hrmanagementsystem works
This is an ASP.NET Core HR application whose main workflow is role-authorized employee and manager operations: maintain employee records, record and review attendance or leave, calculate and approve payroll, then report or notify on outcomes. Its distinct domain stages include annual-leave policy and balance processing, attendance adjustments, multi-level payroll review, and employee hierarchy management. MVC and API controllers expose these capabilities over a shared EF Core data layer. The README documents broad feature coverage; sampled source confirms selected payroll, attendance, leave, authorization, and annual-leave behavior, so unsampled subsystem wiring is shown only at directory level.
Main entry points: HrDbContext.cs HR data context · ApiControllers REST endpoints · Program.cs Application setup · Controllers MVC pages
Components 24
Access and employees
- MVC pages
HRManagementSystem/Controllers - REST endpoints
HRManagementSystem/ApiControllers - Account access
HRManagementSystem/Controllers/AccountController.cs - Employee records
HRManagementSystem/Controllers/EmployeesController.cs - Permission policies
HRManagementSystem/Authorization
Workforce operations
- Attendance workflow
HRManagementSystem/ApiControllers - Attendance review
HRManagementSystem/ApiControllers/AttendanceManagerApiController.cs - Attendance reports
HRManagementSystem/ApiControllers/AttendanceReportApiController.cs - Leave requests
HRManagementSystem/ApiControllers - Leave approvals
HRManagementSystem/ApiControllers/LeaveManagerApiController.cs - Leave policies
HRManagementSystem/Controllers/ChinhSachPhepNamController.cs - Leave configuration
HRManagementSystem/Controllers/CauHinhPhepNamController.cs - Leave balance service
HRManagementSystem/Services/PhepNamService.cs
Payroll and reporting
- Payroll processing
HRManagementSystem/ApiControllers - Payroll approvals
HRManagementSystem/ApiControllers/PayrollManagerApiController.cs - Payroll calculator
HRManagementSystem/Services/PayrollCalculator.cs - Payroll reports
HRManagementSystem/Services/PayrollReportService.cs
Application platform
- Email delivery
HRManagementSystem/Services/EmailService.cs - Annual leave tasks
HRManagementSystem/Services/BackgroundService.cs - HR data context
HRManagementSystem/Data/HrDbContext.cs - SQL Server
- Application setup
HRManagementSystem/Program.cs
Other components
- Employee
- HR manager
Connections 28
- Employee → MVC pages: uses pages
- HR manager → MVC pages: uses pages
- Employee → REST endpoints: sends requests
- HR manager → REST endpoints: sends requests
- MVC pages → Account access: routes requests
- MVC pages → Employee records: routes requests
- REST endpoints → Attendance workflow: routes requests
- REST endpoints → Leave requests: routes requests
- REST endpoints → Payroll processing: routes requests
- Account access → Permission policies: checks access
- Employee records → Permission policies: checks permissions
- Attendance review → HR data context: reads and updates
- Attendance reports → HR data context: reads records
- Leave approvals → HR data context: reads and updates
- Leave configuration → HR data context: reads and updates
- Leave policies → HR data context: reads and updates
- Leave balance service → HR data context: reads and updates
- Leave approvals → Email delivery: sends notices
- Payroll approvals → HR data context: reads and updates
- Payroll processing → Payroll calculator: calculates pay
- Payroll processing → HR data context: reads and writes
- Payroll processing → Payroll reports: generates reports
- Annual leave tasks → Leave balance service: processes balances
- HR data context → SQL Server: persists data
- Application setup → HR data context: configures database
- Application setup → Permission policies: registers policies
- Application setup → Annual leave tasks: hosts tasks
- Application setup → Email delivery: registers service