Back to Projects
Payroll Management System (Fullstack .NET + React)

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