- Main Features of the Project
- Documentation
- Our Team
- How to Use
- Database Setup
- Running the Application
- How to Develop
- Troubleshooting
- Contributing
The following core functionalities are designed to streamline and enhance the Smart Class Routine Management System:
- User Login
- View Personalized Dashboard
- Generate Class Routine
- Generate Makeup Routine
- View Academic Calendar
- Assign Course Teacher
- Schedule Class
- Filter Syllabus
- Upload Files
- Request Rescheduling Class
- View Class Routine
- Approve Rescheduling
- View Class Representative Info
- Update Class Representative Info
Check out each document for in-depth insights into our development process, features, and project evolution! 👆
|
|
|
|
|
|
Roll No: 347 |
Roll No: 351 |
Roll No: 358 |
Roll No: 359 |
Roll No: 368 |
Roll No: 370 |
-
Install Git Bash (if not already installed).
-
Open the Git Bash terminal in your local directory.
-
Configure Git:
git config --global user.name "<github_username>" git config --global user.email "<github_email>"
-
Clone the project by running:
git clone https://github.com/JUCSE49-Mavericks/Smart-Class-Routine-Management-System.git
-
Go to the project directory:
cd SmartClassRoutineManagementSystem -
Open the project in VS Code:
code . -
Open the terminal in VS Code (
Ctrl + J).
-
Install all the required dependencies by running:
npm install
- Download and install MySQL Community Server from the official website: https://dev.mysql.com/downloads/.
- During the setup, note down the root user credentials (username and password) as they'll be needed for configuration.
-
Open your MySQL Workbench or terminal and log in as the root user.
-
Create the required database:
CREATE DATABASE db_class_routine;
-
The database configuration is stored in the
config/db.jsfile. -
If you're using a different MySQL username or password, update the
config/db.jsfile accordingly:const db = mysql.createConnection({ host: "localhost", user: "your_mysql_user", password: "your_mysql_password", database: "db_class_routine" });
-
Replace
your_mysql_userandyour_mysql_passwordwith your actual MySQL username and password.
-
Create a
.envfile in the root directory of the project. Add the following content to it:EMAIL_USER=_yourEmail_ EMAIL_PASS=_yourPassword_ JWT_SECRET=your-secret-key # PORT=5000▶️ ▶️ _N.B_ Provide the email where you want to receive login requests as a superuser . -
Replace
your-secret-keywith your own secure secret key for JWT.
-
Run the following commands in the project directory:
npm install npm run migrate
- The
npm run migratecommand will set up all necessary tables and seed data into the database.
- The
-
Start the application:
node server.js
-
If the setup is correct, you'll see a success message:
Connected to MySQL database
To access all necessary project files, clone or download the project from the following GitHub repository:
-
To start the application, run the following command:
node server.js
-
To start working on a new feature or bug fix, create a new branch:
git checkout -b <new_branch_name>
-
Implement your changes.
-
If you need to modify the database structure (e.g., adding new tables), run:
npm run migrate
-
Run teststo ensure everything works:npm test
-
Stage and commit your changes:
git add . git commit -m "Description of changes made"
-
Push the changes to the remote repository:
git push origin <new_branch_name>
- Go to the GitHub repository and create a pull request.
- Review the pull request and merge it after approval.
-
Keep your local repository up to date by pulling the latest changes:
git pull origin main
-
Error:
Cannot start the application
Solution: Ensure that all dependencies are installed by runningnpm install. -
Error:
Database connection failed
Solution: Ensure your database configurations are correct inconfig/db.js.
- Fork this repository, create a new branch, and submit a pull request.
- Make sure your code is well-commented and follows the project’s coding standards.