Skip to content

The HR Management System is a web-based application built using ASP.NET Core Web API. It follows Clean Architecture principles with the implementation of CQRS and MediatR patterns to ensure separation of concerns, scalability, and maintainability.

License

Notifications You must be signed in to change notification settings

marijatopalova/HRManagementSystem

Repository files navigation

HR Management System

Overview

The HR Management System is a robust and scalable solution for managing employee data, leave requests, payroll, and department organization within an organization. Built using ASP.NET Core Web API, it follows best practices like Clean Architecture, CQRS (Command Query Responsibility Segregation), and MediatR to ensure high maintainability, testability, and separation of concerns.

This project is designed to meet the essential needs of HR departments, ensuring efficient employee management, secure access control, and easy extendibility for future features.

Key Features

  • Employee Management: Manage employee records, roles, and track performance across departments.
  • Leave Management: Allows employees to submit leave requests and managers to approve/reject them.
  • Payroll System: Automates payroll calculations based on employee attendance and leave.
  • Department Management: Organize employees into departments, manage department-specific settings.
  • Extensible Design: Easily extend the application with new features using CQRS and MediatR patterns.
  • Fluent Validation: Ensures consistent and centralized validation of inputs, making the application secure and user-friendly.

Architecture

The system is based on the Clean Architecture principles, ensuring separation of concerns and facilitating test-driven development.

Layers:

  1. Domain Layer: Contains core business logic and entity definitions.
  2. Application Layer: Implements use cases (commands/queries) and validation. Includes business rules using CQRS and MediatR.
  3. Infrastructure Layer: Contains data access (EF Core) and repository implementations.
  4. API Layer: The entry point of the system, exposes RESTful endpoints to handle requests, and interacts with the Application layer.

Technologies Used

  • .NET 8
  • Entity Framework Core
  • CQRS and MediatR
  • FluentValidation
  • SQL Server
  • Docker support for containerized deployment

Getting Started

Prerequisites

Running the Application

  1. Clone the repository:

    git clone https://github.com/marijatopalova/HRManagementSystem.git
    cd HRManagementSystem

About

The HR Management System is a web-based application built using ASP.NET Core Web API. It follows Clean Architecture principles with the implementation of CQRS and MediatR patterns to ensure separation of concerns, scalability, and maintainability.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published