A premium, full-stack college management system with modern glassmorphism UI and comprehensive backend functionality.
- β 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
- β Manage students (Add/Edit/Delete)
- β Manage courses
- β Manage fees
- β View reports
- β Manage timetable
- β Post announcements
- β View analytics
- HTML5
- CSS3 (Glassmorphism Design)
- Bootstrap 5
- Vanilla JavaScript
- Premium UI/UX
- Node.js
- Express.js
- MySQL
- JWT Authentication
- bcrypt (Password Hashing)
- Helmet (Security headers)
- CORS
- Rate Limiting
- SQL Injection Prevention
- XSS Protection
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
- Node.js (v14 or higher)
- MySQL (v5.7 or higher)
- npm or yarn
git clone <repository-url>
cd college-managementnpm install- Create the database:
mysql -u root -p- Import the schema:
mysql -u root -p < database.sqlOr manually:
- Open MySQL Workbench or phpMyAdmin
- Create database:
college_management - Import
database.sqlfile
- Copy
.env.exampleto.env:
cp .env.example .env- Edit
.envfile 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-keynpm startOr for development with auto-reload:
npm run devServer will run on: http://localhost:5000
- Install "Live Server" extension
- Right-click on
frontend/index.html - Select "Open with Live Server"
cd frontend
python -m http.server 3000npm install -g http-server
cd frontend
http-server -p 3000Frontend will run on: http://localhost:3000
- Email: admin@elitecollege.edu
- Password: admin123
-
Email: john.doe@student.edu
-
Password: student123
-
Email: jane.smith@student.edu
-
Password: student123
β οΈ Note: Change these passwords in production!
The system includes the following tables:
- users - Authentication data
- students - Student information
- courses - Course catalog
- enrollments - Student course enrollments
- fees - Fee structure
- payments - Payment records
- timetable - Class schedules
- results - Exam results and grades
- notifications - System announcements
- attendance - Attendance tracking
POST /api/auth/signup- Student registrationPOST /api/auth/login- User login
GET /api/students/profile- Get student profilePUT /api/students/profile- Update profile
GET /api/courses- Get all coursesGET /api/courses/enrolled- Get enrolled coursesPOST /api/courses/enroll- Enroll in course
GET /api/fees- Get student feesGET /api/fees/payments- Get payment historyPOST /api/fees/pay- Process payment
GET /api/timetable- Get student timetable
GET /api/results- Get student results
GET /api/admin/students- Get all studentsPOST /api/admin/students- Add studentPUT /api/admin/students/:id- Update studentDELETE /api/admin/students/:id- Delete studentPOST /api/admin/courses- Add course
- 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
- 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
- Set environment variables on your hosting platform
- Deploy the backend folder
- Ensure MySQL database is accessible
- Update
API_URLinfrontend/js/main.jsto your backend URL - Deploy the frontend folder
- Configure CORS on backend to allow your frontend domain
- Use managed MySQL service (AWS RDS, Google Cloud SQL, etc.)
- Or use your hosting provider's MySQL service
The database includes sample data:
- 5 student accounts
- 10 courses
- Enrollment records
- Fee records
- Payment history
- Timetable entries
- Results
- Notifications
- Verify MySQL is running
- Check database credentials in
.env - Ensure database
college_managementexists
- Check
cors()configuration inserver.js - Ensure frontend URL is allowed
- Change PORT in
.envfile - Or kill the process using that port
- Verify database has user records
- Check password hashing is working
- Ensure JWT_SECRET is set
For issues and questions:
- Check the troubleshooting section
- Review the code comments
- Contact: support@elitecollege.edu
MIT License - Feel free to use this for educational purposes.
- Create new route in
server.js - Add corresponding HTML page
- Implement frontend JavaScript
- Update database schema if needed
- 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