Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Student & Course Management Syste### ๐ŸŽฏ Demo Highlights:

  • Complete backend API testing with Postman
  • Frontend user interface walkthrough
  • Database operations and data flow
  • Error handling and validation
  • Authentication and authorization

๐Ÿ—๏ธ System Architecturestack web application for managing students and courses with role-based authentication, built with modern technologies and best practices.

๐Ÿ“‹ Project Overview

This system provides a comprehensive solution for educational institutions to manage student enrollment, course catalog, and administrative tasks. It features a robust backend API with MySQL database and a responsive React frontend with role-based access control.

๐ŸŽฏ Key Features

  • Role-Based Authentication (Admin/Student)
  • Student Management (CRUD operations)
  • Course Management (CRUD operations)
  • Enrollment System (Course assignments)
  • Dashboard Analytics (Statistics and insights)
  • Responsive Design (Mobile-first approach)
  • RESTful API (Clean, documented endpoints)

๏ฟฝ Live Demonstration

๐ŸŽฅ Video Walkthrough

Watch the complete system demonstration: A comprehensive walkthrough showing all features, API testing, and user interactions.

Student & Course Management System Demo

๐ŸŽฅ Direct Video Link (Click to watch the full demonstration)

๐Ÿ“ฑ What's Covered in the Demo:

  • ๐Ÿ” Authentication System - Admin & Student login flows
  • ๐Ÿ‘ฅ Student Management - Create, read, update, delete operations
  • ๐Ÿ“š Course Management - Full CRUD functionality
  • ๐Ÿ”ง API Testing - Complete Postman API demonstrations
  • ๐Ÿ“Š Dashboard Features - Analytics and statistics
  • ๐Ÿ“ฑ Responsive Design - Mobile and desktop views
  • ๐Ÿ›ก๏ธ Security Features - Role-based access control

๐ŸŽฏ Demo Highlights:

  • Complete backend API testing with Postman
  • Frontend user interface walkthrough
  • Database operations and data flow
  • Error handling and validation
  • Authentication and authorization

๐Ÿ“ Note: Replace the video link above with your actual demonstration video URL (YouTube, Vimeo, or direct video file)

๏ฟฝ๐Ÿ—๏ธ System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    HTTP/HTTPS    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   React Frontend โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚   Express API   โ”‚
โ”‚   (Port 5173)   โ”‚                 โ”‚   (Port 5000)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                              โ”‚
                                              โ”‚ MySQL
                                              โ–ผ
                                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                    โ”‚   MySQL DB      โ”‚
                                    โ”‚ (Port 3306)     โ”‚
                                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Technology Stack

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MySQL
  • Authentication: JWT (JSON Web Tokens)
  • Password Hashing: bcryptjs
  • Database Driver: mysql2

Frontend

  • Framework: React 19
  • Build Tool: Vite
  • Styling: TailwindCSS
  • Routing: React Router
  • HTTP Client: Axios
  • State Management: Context API

๐Ÿ“ Project Structure

Student & Course Management/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ controllers/     # Business logic
โ”‚   โ”‚   โ”œโ”€โ”€ routes/          # API endpoints
โ”‚   โ”‚   โ”œโ”€โ”€ middleware/      # Auth & validation
โ”‚   โ”‚   โ””โ”€โ”€ models/          # Database queries
โ”‚   โ”œโ”€โ”€ server.js           # Server entry point
โ”‚   โ”œโ”€โ”€ schema.sql          # Database schema
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/     # Reusable components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/          # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ context/        # State management
โ”‚   โ”‚   โ””โ”€โ”€ services/       # API services
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ””โ”€โ”€ README.md
โ””โ”€โ”€ README.md               # This file

๐Ÿš€ Quick Start Guide

Prerequisites

  • Node.js (v16+)
  • MySQL (v8.0+)
  • Git

1. Clone Repository

git clone <repository-url>
cd "Student & Course Management"

2. Database Setup

# Start MySQL server (XAMPP or standalone)
# Create database
mysql -u root -p < backend/schema.sql

3. Backend Setup

cd backend
npm install
cp .env.example .env
# Edit .env with your database credentials
npm run dev

4. Frontend Setup

cd ../frontend
npm install
npm run dev

5. Access Application

๐Ÿ” Default Login Credentials

Administrator

Students

๐Ÿ“š API Documentation

Authentication Endpoints

POST /api/auth/login          # User login
POST /api/auth/register       # Create user (Admin only)
GET  /api/auth/profile        # Get user profile

Student Management

GET    /api/students          # Get all students (Admin)
GET    /api/students/:id      # Get student by ID
POST   /api/students          # Create student (Admin)
PUT    /api/students/:id      # Update student (Admin)
DELETE /api/students/:id      # Delete student (Admin)
GET    /api/students/course/:courseId  # Get students by course

Course Management

GET    /api/courses           # Get all courses
GET    /api/courses/:id       # Get course by ID
POST   /api/courses           # Create course (Admin)
PUT    /api/courses/:id       # Update course (Admin)
DELETE /api/courses/:id       # Delete course (Admin)
GET    /api/courses/:id/students      # Get course students
GET    /api/courses/admin/stats       # Get statistics (Admin)

๐Ÿ—„๏ธ Database Schema

Users Table

- id (Primary Key)
- email (Unique)
- password (Hashed)
- role (admin/student)
- created_at, updated_at

Students Table

- id (Primary Key)
- user_id (Foreign Key โ†’ users.id)
- first_name, last_name
- email (Unique)
- phone, date_of_birth
- course_id (Foreign Key โ†’ courses.id)
- enrollment_date, status
- created_at, updated_at

Courses Table

- id (Primary Key)
- name (Unique)
- description, duration
- instructor
- created_at, updated_at

๐ŸŽจ User Interface Screenshots

Login Page

  • Clean, modern design
  • Demo credentials display
  • Responsive layout

Admin Dashboard

  • Statistics overview
  • Quick action buttons
  • Recent students table

Student Management

  • Data table with search
  • Modal forms for CRUD
  • Course assignment

Course Catalog

  • Card-based layout
  • Enrollment counters
  • Admin controls

๐Ÿ”ง Development Workflow

Backend Development

cd backend
npm run dev          # Start with nodemon
npm start           # Production start
npm test            # Run tests (if implemented)

Frontend Development

cd frontend
npm run dev         # Development server
npm run build       # Production build
npm run preview     # Preview build
npm run lint        # Code linting

๐Ÿ”ฎ Future Enhancements

Features

  • Email notifications
  • File upload (student photos)
  • Grade management
  • Attendance tracking
  • Reports generation
  • Real-time notifications

Releases

Packages

Contributors

Languages