The Story Behind the Project
This project was created to address the common challenges faced by HR departments in accurately tracking employee attendance and managing leave requests.
The goal: build a robust, secure, and user-friendly system that automates manual processes, giving HR teams and managers the tools they need to monitor and analyze employee presence data effectively.
Table of Contents
Overview
️ System Architecture
Features
Authentication & Authorization
Employee Management
Attendance Management
Vacation Request Management
️ User Interface
️ Technology Stack
️ Setup & Installation
Folder Structure
Screenshots
Views
Potential Improvements
License
Overview
Attendance and Departure System is a modern HR solution for managing employees and tracking daily presence.
Highlights:
Employee CRUD operations
CSV-based attendance importing
Daily, Monthly, and Yearly views for monitoring
Role-based authentication and authorization
️ System Architecture
Frontend: Blazor WebAssembly (SPA)
Backend: ASP.NET Core Web API with MediatR + CQRS
Database: SQL Server
ORM: Entity Framework Core
Authentication: JWT (JSON Web Tokens)
Features
Authentication & Authorization
User registration & secure JWT login
Role-based access (Admin, Employee)
Password reset & admin-controlled password management
Employee Management
Full CRUD on employee profiles
Admin user account approvals & unlocks
Searchable, sortable employee lists
Attendance Management
CSV-based bulk attendance import
Daily, Monthly, Yearly views
Automatic working hours calculation
Vacation Request Management
Employee request submission
Admin approval/rejection workflow
Request status tracking
️ User Interface
Responsive design (desktop & mobile)
Sidebar navigation
Real-time notifications
️ Technology Stack
ASP.NET Core Blazor
ASP.NET Core Web API
SQL Server + Entity Framework Core
MediatR + AutoMapper
Blazored.LocalStorage
Bootstrap
Folder Structure
EmployeeAttendanceSolution
├── Applications (CQRS Features)
├── AttendanceSystem.Auth.API
├── AttendanceSystem.Auth.Services
├── AttendanceSystem.ImportFile.API
├── AttendanceSystem.ImportFile.ui
├── Domain
├── Employee.Shared
├── EmployeeAttendanceSolution.AppHost
├── EmployeeAttendanceSolution.ServiceDefaults
└── Infrastructure