Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Elite College Management System

A premium, full-stack college management system with modern glassmorphism UI and comprehensive backend functionality.

✨ Features

Student Features

  • βœ… Secure authentication (signup/login)
  • βœ… Personal dashboard with statistics
  • βœ… View enrolled courses
  • βœ… Check timetable
  • βœ… Pay fees online
  • βœ… View payment history
  • βœ… Check results and grades
  • βœ… Track attendance
  • βœ… Receive notifications
  • βœ… Update profile

Admin Features

  • βœ… Manage students (Add/Edit/Delete)
  • βœ… Manage courses
  • βœ… Manage fees
  • βœ… View reports
  • βœ… Manage timetable
  • βœ… Post announcements
  • βœ… View analytics

πŸš€ Tech Stack

Frontend

  • HTML5
  • CSS3 (Glassmorphism Design)
  • Bootstrap 5
  • Vanilla JavaScript
  • Premium UI/UX

Backend

  • Node.js
  • Express.js
  • MySQL
  • JWT Authentication
  • bcrypt (Password Hashing)

Security

  • Helmet (Security headers)
  • CORS
  • Rate Limiting
  • SQL Injection Prevention
  • XSS Protection

πŸ“ Project Structure

college-management/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   β”œβ”€β”€ style.css          # Main styles
β”‚   β”‚   β”œβ”€β”€ auth.css           # Authentication pages
β”‚   β”‚   └── dashboard.css      # Dashboard styles
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ main.js            # Core JavaScript
β”‚   β”‚   └── auth.js            # Authentication logic
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ login.html
β”‚   β”‚   β”œβ”€β”€ signup.html
β”‚   β”‚   β”œβ”€β”€ dashboard.html
β”‚   β”‚   β”œβ”€β”€ courses.html
β”‚   β”‚   β”œβ”€β”€ fees.html
β”‚   β”‚   β”œβ”€β”€ timetable.html
β”‚   β”‚   β”œβ”€β”€ profile.html
β”‚   β”‚   └── admin.html
β”‚   └── index.html             # Homepage
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ config/
β”‚   └── server.js              # Main server file
β”‚
β”œβ”€β”€ database.sql               # Database schema + sample data
β”œβ”€β”€ package.json
β”œβ”€β”€ .env.example
└── README.md

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v14 or higher)
  • MySQL (v5.7 or higher)
  • npm or yarn

Step 1: Clone the Repository

git clone <repository-url>
cd college-management

Step 2: Install Dependencies

npm install

Step 3: Database Setup

  1. Create the database:
mysql -u root -p
  1. Import the schema:
mysql -u root -p < database.sql

Or manually:

  • Open MySQL Workbench or phpMyAdmin
  • Create database: college_management
  • Import database.sql file

Step 4: Environment Configuration

  1. Copy .env.example to .env:
cp .env.example .env
  1. Edit .env file with your settings:
PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=college_management
JWT_SECRET=your-super-secret-key

Step 5: Start the Backend Server

npm start

Or for development with auto-reload:

npm run dev

Server will run on: http://localhost:5000

Step 6: Start the Frontend

Option 1: Using Live Server (VS Code)

  1. Install "Live Server" extension
  2. Right-click on frontend/index.html
  3. Select "Open with Live Server"

Option 2: Using Python

cd frontend
python -m http.server 3000

Option 3: Using Node.js http-server

npm install -g http-server
cd frontend
http-server -p 3000

Frontend will run on: http://localhost:3000

πŸ”‘ Default Login Credentials

Admin Account

Student Accounts

⚠️ Note: Change these passwords in production!

πŸ“Š Database Schema

The system includes the following tables:

  1. users - Authentication data
  2. students - Student information
  3. courses - Course catalog
  4. enrollments - Student course enrollments
  5. fees - Fee structure
  6. payments - Payment records
  7. timetable - Class schedules
  8. results - Exam results and grades
  9. notifications - System announcements
  10. attendance - Attendance tracking

πŸ” API Endpoints

Authentication

  • POST /api/auth/signup - Student registration
  • POST /api/auth/login - User login

Student Routes (Protected)

  • GET /api/students/profile - Get student profile
  • PUT /api/students/profile - Update profile

Course Routes

  • GET /api/courses - Get all courses
  • GET /api/courses/enrolled - Get enrolled courses
  • POST /api/courses/enroll - Enroll in course

Fee Routes

  • GET /api/fees - Get student fees
  • GET /api/fees/payments - Get payment history
  • POST /api/fees/pay - Process payment

Timetable Routes

  • GET /api/timetable - Get student timetable

Results Routes

  • GET /api/results - Get student results

Admin Routes (Protected + Admin Only)

  • GET /api/admin/students - Get all students
  • POST /api/admin/students - Add student
  • PUT /api/admin/students/:id - Update student
  • DELETE /api/admin/students/:id - Delete student
  • POST /api/admin/courses - Add course

🎨 Design Features

  • Glassmorphism UI - Modern transparent glass effect
  • Gradient Backgrounds - Beautiful gradient color schemes
  • Smooth Animations - Engaging micro-interactions
  • Responsive Design - Mobile, tablet, and desktop friendly
  • Premium Typography - Playfair Display + Inter fonts
  • Icon Library - Bootstrap Icons
  • Counter Animations - Animated statistics
  • Scroll Effects - Fade-in and slide animations

πŸ”’ Security Features

  • Password hashing with bcrypt
  • JWT token-based authentication
  • Protected API routes
  • Role-based access control (RBAC)
  • SQL injection prevention
  • XSS protection
  • CORS configuration
  • Rate limiting
  • Helmet security headers
  • Input validation

πŸš€ Deployment

Backend Deployment (Heroku/Railway/DigitalOcean)

  1. Set environment variables on your hosting platform
  2. Deploy the backend folder
  3. Ensure MySQL database is accessible

Frontend Deployment (Netlify/Vercel/GitHub Pages)

  1. Update API_URL in frontend/js/main.js to your backend URL
  2. Deploy the frontend folder
  3. Configure CORS on backend to allow your frontend domain

Database Deployment

  • Use managed MySQL service (AWS RDS, Google Cloud SQL, etc.)
  • Or use your hosting provider's MySQL service

πŸ“ Sample Data

The database includes sample data:

  • 5 student accounts
  • 10 courses
  • Enrollment records
  • Fee records
  • Payment history
  • Timetable entries
  • Results
  • Notifications

πŸ› Troubleshooting

Database Connection Error

  • Verify MySQL is running
  • Check database credentials in .env
  • Ensure database college_management exists

CORS Error

  • Check cors() configuration in server.js
  • Ensure frontend URL is allowed

Port Already in Use

  • Change PORT in .env file
  • Or kill the process using that port

Cannot Login

  • Verify database has user records
  • Check password hashing is working
  • Ensure JWT_SECRET is set

πŸ“ž Support

For issues and questions:

πŸ“„ License

MIT License - Feel free to use this for educational purposes.

πŸ‘¨β€πŸ’» Developer Notes

To Add New Features:

  1. Create new route in server.js
  2. Add corresponding HTML page
  3. Implement frontend JavaScript
  4. Update database schema if needed

Code Standards:

  • Use async/await for database operations
  • Always validate user input
  • Include error handling
  • Add comments for complex logic
  • Follow RESTful API conventions

Built with ❀️ for Educational Excellence

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages