A robust web-based course registration portal offering a seamless experience for administrators and students. Administrators can effortlessly add courses, and students can view and register for these courses, all in one place.
-
🔐 User Authentication:
- Secure registration and profile creation.
- Passwords are safely hashed using
bcrypt. - Individualized login granting access to personal profiles and course registrations.
-
📚 Course Management:
- Exclusive course addition rights for administrators.
- A visual display of available courses for students with an intuitive "Add Course" button.
- Real-time fetch of course details from the integrated database.
-
💽 Database Integration:
- Seamlessly integrates with MySQL.
- Dedicated connection to the
athena_schemadatabase.
-
🌐 Dynamic Content Generation:
- Leverages
cheeriofor on-the-fly generation of course lists.
- Leverages
- Backend:
Express.js - Frontend:
EJS - Database:
MySQL - Password Security:
bcrypt - Session Handling:
express-session - Additional Libraries:
cheerio,cors,body-parser
- Static Assets: Sourced from
public&client/src/login. - Dynamic Content: Found in
client/src/login/course.html.
-
🔽 Install necessary dependencies:
npm install
-
🔄 Ensure MySQL is active and
athena_schemais ready. -
▶ Start the application:
node combined_app.js
🌍 The portal is now live on port 3006.
⚠ Security Alert: Always prioritize safety! Refrain from storing database credentials in the source code. Opt for environment variables or an external configuration file.
📌 This project is licensed under the MIT License