Skip to content

Suhan891/College-Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎓 College & Student Management System

A comprehensive full-stack platform designed to streamline college administration, timetable scheduling, and attendance tracking.

Node.js Express.js Next.js React 19 PostgreSQL Tailwind CSS


🚀 Overview

The Student Management System is a robust, scalable web application designed to digitize and manage the entire lifecycle of college administration. It features powerful role-based access control, dynamic timetable generation, and advanced attendance tracking (including geolocation verification).


💻 Tech Stack

⚙️ Backend (Express.js & Node.js)

  • Core Framework: Express.js
  • Database: PostgreSQL (Direct SQL queries using pg)
  • Authentication: JSON Web Tokens (JWT), bcrypt for password hashing
  • Data Validation: Joi
  • Utilities: Nodemailer (Email/OTP), Haversine Distance (Geolocation for attendance)

🎨 Frontend (Next.js 16)

  • Framework: Next.js (App Router) & React 19
  • Styling: Tailwind CSS v4, shadcn/ui, Radix UI primitives
  • State Management: Zustand (Global State), TanStack React Query v5 (Data Fetching & Caching)
  • Forms & Validation: React Hook Form + Zod
  • Visuals: Recharts (Data visualization), Embla Carousel

✨ Key Features

🔐 Role-Based Architecture

  • Distinct access levels and dashboards for Admin, College, Teacher, and Student.
  • Secure authentication with token versioning and password reset capabilities.

🏛️ College & Department Management

  • Hierarchical structure mapping: Colleges -> Departments -> Streams -> Courses -> Classes -> Subjects.
  • Store geographical locations of colleges for proximity-based features.

📅 Advanced Timetable Management

  • Version-controlled timetable system to handle semester-wise schedule changes.
  • Conflict-free time slot allocations connecting classes, subjects, and teachers.
  • Structured daily and weekly views.

📍 Smart Attendance System

  • Session-based attendance tracking handled by teachers for specific periods.
  • Support for multiple marking sources (Student self-marking, Teacher, Class Teacher).
  • Geolocation validation using Haversine distance to ensure students are physically present within the college premises.

📂 Project Structure

Student Management/
├── backend/                # Node.js + Express API
│   ├── controllers/        # Business logic for routes
│   ├── middleware/         # Auth and Validation middlewares
│   ├── postgresModel/      # Raw SQL schema definitions (DDL)
│   ├── routes/             # Express route definitions
│   ├── db/                 # Database connection config
│   ├── service/            # External services (Email, etc.)
│   └── app.js              # Entry point
└── frontend/               # Next.js Application
    ├── app/                # Next.js App Router (Auth, Dashboard)
    ├── components/         # Reusable UI components (shadcn/ui)
    ├── lib/                # Utility functions
    └── package.json        # Frontend dependencies

🛠️ Getting Started

Prerequisites

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Configure your environment variables. Create a .env file:
    PORT=8080
    DATABASE_URL="postgresql://user:password@localhost:5432/student_management"
    JWT_SECRET="your_jwt_secret"
    # Add other required variables (e.g., Nodemailer credentials)
  4. Start the backend server:
    npm run start
    # or for development:
    npx nodemon app.js

Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the Next.js development server:
    npm run dev

Built with ❤️

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors