Back to Projects

Payroll Management System (Fullstack .NET + React)
The CDN Payroll System is a production-style payroll management application designed using Clean Architecture principles to ensure maintainability, testability, and clear separation of concerns. It manages employees, working schedules, skills, and salary calculations through a robust backend API and a modern React frontend.
Architecture & Design
The backend strictly follows Clean Architecture:
- Domain Layer: Core business entities, value objects, and repository interfaces with zero external dependencies
- Application Layer: Business logic, services, DTOs, and validation
- Infrastructure Layer: Data persistence using Dapper and SQL Server
- API Layer: ASP.NET Core Web API exposing RESTful endpoints with global exception handling
This design ensures business rules are isolated from frameworks and infrastructure, making the system highly extensible and testable.
Key Features
Employee Management
- Create, update, delete, archive, and unarchive employees
- Search employees by keyword
- Auto-generated employee numbers based on name, date of birth, and randomness
Payroll Calculation
- Calculates salary based on working days within a date range
- Applies business rules such as daily rate doubling and birthday bonus pay
- Handles edge cases like birthdays falling on weekends
Business Rules Enforcement
- Working day filtering using enums
- Deterministic salary computation logic
- Strict validation at the application layer
Backend Quality & Reliability
- Global exception handling middleware with environment-specific error responses
- Unit tests using xUnit and Moq covering payroll logic and edge cases
- Swagger/OpenAPI documentation for all endpoints
Frontend Application
- Built with React and Vite
- Employee listing with search
- CRUD operations with archive/unarchive support
- Salary calculation UI
- Route protection and API integration via Axios
Technical Highlights
- Clean Architecture with zero Domain dependencies
- Dapper-based data access (no ORM abstraction leaks)
- RESTful API design with consistent JSON responses
- Strong test coverage for business-critical logic
- Clear separation between business logic and infrastructure concerns
This project demonstrates enterprise-grade backend design, full-stack integration, and real-world payroll business logic, making it highly relevant for backend, full-stack, and software engineering roles.
Technologies Used
C#.NETJavaScriptASP.NETDapperSQLSwaggerReactAxiosHTML & CSS