Skip to content

codewithnuh/attendance-and-leave-management-system

Repository files navigation



Next.js Prisma TailwindCSS PostgreSQL

Attendance and Leave Management System

Manage attendance and leave records efficiently with this full-stack web application.
  1. 🤖 Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Features
  4. 🤸 Quick Start

This project is a full-stack Attendance and Leave Management System designed to streamline employee attendance and leave tracking processes. Built with cutting-edge web technologies, it provides tools for managing user authentication, attendance records, and leave applications, ensuring seamless administrative workflows for organizations.

  • Node.js: Runtime for building fast and scalable server-side applications.
  • Next.js: Framework for React-based server-side rendering.
  • Prisma: ORM for database management and migrations.
  • PostgreSQL: Database solution for storing and managing records.
  • TailwindCSS: Utility-first CSS framework for responsive and modern UI designs.

👉 User Authentication: Secure user login and management.

👉 Attendance Tracking (CRUD):

  • Record, view, update, and delete attendance data for employees.

👉 Leave Management (CRUD):

  • Submit, approve, or reject leave requests with clear status tracking.

👉 Role-Based Access Control:

  • Different permissions for admins and regular users.

👉 Database Integration:

  • Utilizes Neon PostgreSQL and Prisma for robust and scalable data handling.

👉 Responsive Design:

  • TailwindCSS ensures a clean and adaptive UI.

👉 Search and Filter:

  • Quickly find attendance records or leave requests using powerful search and filter functionalities.

Follow these steps to set up the project locally:

Prerequisites

Ensure you have the following installed on your machine:

Clone the Repository

git clone https://github.com/codewithnuh/attendance-and-leave-management-system.git
cd attendance-management-system

Install Dependencies

npm install --legacy-peer-deps

Set Up Environment Variables

Create a .env file and configure it with your database credentials:

# Database connection settings
DATABASE_URL="postgresql://your_username:your_password@localhost:5432/your_database_name"

# Session secret for authentication
SESSION_SECRET="your_session_secret_key"

# Uploadthing token for file uploads
UPLOADTHING_TOKEN="your_uploadthing_token"

# Optional: uncomment if you use Prisma <5.10
# DATABASE_URL_UNPOOLED="postgresql://your_username:your_password@localhost:5432/your_database_name?sslmode=require"

Run Database Migrations

npx prisma migrate dev

Start the Application

npm run dev

Open http://localhost:3000 in your browser to access the application.


Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages