Skip to content

Devansh100ni/TimePulseUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TimePulse - Employee Attendance & Time Management Portal

📖 Overview

TimePulse is a robust, responsive web application built on ASP.NET Core 6.0 MVC. Designed to streamline workforce attendance tracking and time management, the application serves as a comprehensive frontend portal that integrates seamlessly with a RESTful backend API (TimePulseBackend).

It allows HR managers and administrators to import employee attendance logs via Excel sheets, process raw biometric/time-clock data, and generate granular analytical reports—including Work Hours, Late Arrivals, Early Departures, and Overtime Calculations.


✨ Key Features

📈 1. Comprehensive Analytical Reports

The application provides detailed insights into employee working habits, sortable by Month, Year, and individual User ID:

  • 🕒 Work Hour Report: Tracks total daily and monthly worked hours per employee. Calculates exact login/logout times formatted in clean 12-hour AM/PM notation and aggregates total hours worked.
  • ⚠️ Late In Report: Identifies late arrivals and calculates exact late-coming durations (in minutes) against scheduled shift start times.
  • 🚪 Early Out Report: Monitors instances where employees leave prior to shift completion, detailing early departure minutes.
  • 🌟 Overtime Report: Automatically tracks and totals overtime hours worked beyond regular scheduled shifts.

📁 2. Excel Log Ingestion & Processing

  • Excel Sheet Upload: Integrated file upload portal supporting .xlsx spreadsheets using EPPlus, allowing bulk ingestion of raw employee attendance records directly into the backend database.
  • Automated Log Processing: Intuitive processing triggers that parse raw timestamps and compute monthly attendance metrics via asynchronous backend API endpoints.

🎨 3. Responsive & Clean UI/UX

  • Bootstrap 5.2.3 Styling: Clean, professional tables, dynamic badges, hover effects, and responsive navigation across desktop and mobile screens.
  • Dynamic Filtering: Easy-to-use dropdown selectors for filtering reports across months (or all months simultaneously) and historical years.

🛠️ Technology Stack

Component Technology Version / Details
Framework ASP.NET Core MVC .NET 6.0
Language C# C# 10.0
Frontend UI HTML5, CSS3, Razor ASP.NET Core Razor Views (.cshtml)
Styling & Icons Bootstrap v5.2.3
JavaScript / AJAX jQuery & Bootstrap Bundle v3.x / v5.2.3
Excel Processing EPPlus v6.1.3
JSON Serialization Newtonsoft.Json High-performance JSON deserialization
Pagination PagedList & PagedList.Mvc v1.17.0 / v4.5.0

📂 Project Structure

Time-Management-Fatch-API/
│
├── AttendenceManagement002/
│   ├── AttendenceManagement002/
│   │   ├── Controllers/
│   │   │   └── HomeController.cs          # Core controller handling API communication & report logic
│   │   ├── Models/
│   │   │   ├── Paging.cs                  # PaginatedList helper, time conversion extensions, and models
│   │   │   └── ErrorViewModel.cs          # Error handling model
│   │   ├── ViewModels/
│   │   │   ├── ReportViewModel.cs         # Raw report payload model from API
│   │   │   ├── WorkHourReportViewModel.cs # Formatted work hour view model
│   │   │   ├── LateInReportViewModel.cs   # Formatted late arrival view model
│   │   │   ├── EarlyOutReportViewModel.cs # Formatted early departure view model
│   │   │   ├── OvertimeViewModel.cs       # Formatted overtime view model
│   │   │   └── PostDataModel.cs           # Log processing payload model
│   │   ├── Views/
│   │   │   ├── Home/
│   │   │   │   ├── Index.cshtml           # Welcome dashboard
│   │   │   │   ├── LogProcess.cshtml      # Trigger monthly log processing
│   │   │   │   ├── PostExcelSheet.cshtml  # Upload attendance Excel spreadsheet
│   │   │   │   ├── ReportMontly.cshtml    # Monthly report selection dashboard
│   │   │   │   ├── WorkHourReport.cshtml  # Work hours table view
│   │   │   │   ├── LateInReport.cshtml    # Late arrival minutes table view
│   │   │   │   ├── EarlyOutReport.cshtml  # Early departure minutes table view
│   │   │   │   └── OvertimeReport.cshtml  # Overtime minutes table view
│   │   │   └── Shared/                    # Layouts, navigation, and validation scripts
│   │   ├── wwwroot/                       # Static assets (CSS, JS, Bootstrap libs)
│   │   ├── Program.cs                     # Application entry point & service registration
│   │   └── appsettings.json               # Application configuration
│   └── AttendenceManagement002.sln        # Visual Studio Solution File
└── README.md                              # Project documentation

🚀 Getting Started

Prerequisites

  1. .NET 6.0 SDK or later installed on your machine (Download .NET 6).
  2. Visual Studio 2022, JetBrains Rider, or Visual Studio Code with C# extensions.
  3. Backend API Running: The application expects the backend REST API (HomeAPI) to be actively running at https://localhost:44382/api/HomeAPI. Ensure your backend service is started before fetching reports.

Installation & Run

  1. Clone or Open the Repository: Navigate to the project root folder:

    cd "e:/CodeArdra Solutions Projects/Time-Management-Fatch-API/AttendenceManagement002"
  2. Restore NuGet Packages:

    dotnet restore
  3. Build the Solution:

    dotnet build --configuration Release
  4. Run the Application:

    cd AttendenceManagement002
    dotnet run

    The application will launch and be accessible via your browser at https://localhost:5001 or http://localhost:5000 (or via IIS Express in Visual Studio).


💡 Usage Guide

  1. Step 1: Upload Excel Sheet:
    • Navigate to Upload Excel Sheet in the top navigation bar.
    • Select the .xlsx biometric or time-clock attendance export file and submit.
    • Data is transmitted via multipart form data directly to the backend API.
  2. Step 2: Log Process:
    • Go to Log Process, select the target Month and Year, and initiate processing. This triggers the backend engine to calculate working hours, late minutes, early departures, and overtime.
  3. Step 3: Generate Reports:
    • Go to Reports, choose the desired report type (Work Hour, Late In, Early Out, or Overtime), select the Month/Year filter (or "All Months"), and view the rendered analytical breakdown.

🔧 Recommended Future Improvements

  • ⚙️ Configuration Management: Move the hardcoded backend API URL (https://localhost:44382/api/HomeAPI) from HomeController.cs into appsettings.json and inject it using IOptions<T> or IHttpClientFactory.
  • ✍️ Code & Naming Cleanup: Refactor typos across the codebase (e.g., Attendence -> Attendance, Fatch -> Fetch, EartlyOutMinute -> EarlyOutMinute).
  • 🔐 Authentication & Authorization: Implement ASP.NET Core Identity or JWT/OAuth2 authentication to secure HR reporting endpoints and restrict upload capabilities to administrative roles.
  • ⚡ Asynchronous UI Loading: Implement AJAX/Fetch API table reloading with loading spinners to enhance user experience during large report queries.

Built with ❤️ using ASP.NET Core 6 MVC.

About

TimePulse is a robust, responsive web application built on ASP.NET Core 6.0 MVC. Designed to streamline workforce attendance tracking and time management, the application serves as a comprehensive frontend portal that integrates seamlessly with a RESTful backend API (TimePulseBackend).

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors