Skip to content

Simplify scheduling with the Smart Class Routine Management System! Plan, organize, and manage class schedules effortlessly. Automate routines, save time, and stay on track with ease!

Notifications You must be signed in to change notification settings

Sa-dia/SmartClassRoutineManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation


🎓 Smart Class Routine Management System

project logo


📑 Table of Contents

  1. Main Features of the Project
  2. Documentation
  3. Our Team
  4. How to Use
  5. Database Setup
  6. Running the Application
  7. How to Develop
  8. Troubleshooting
  9. Contributing

Main Features of the Project

The following core functionalities are designed to streamline and enhance the Smart Class Routine Management System:

  1. User Login
  2. View Personalized Dashboard
  3. Generate Class Routine
  4. Generate Makeup Routine
  5. View Academic Calendar
  6. Assign Course Teacher
  7. Schedule Class
  8. Filter Syllabus
  9. Upload Files
  10. Request Rescheduling Class
  11. View Class Routine
  12. Approve Rescheduling
  13. View Class Representative Info
  14. Update Class Representative Info

Documentation

Check out each document for in-depth insights into our development process, features, and project evolution! 👆


Our Team

Sadia Hossain
Umma Sumaiya Jahan

Jannati Tajrimin Mitu
Trisha Sarkar Akila Nipo
Rubayed All Islam

Roll No: 347

Roll No: 351

Roll No: 358

Roll No: 359

Roll No: 368

Roll No: 370


How to Use

Clone the Project

  • 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

Navigate to the Project Directory

  • Go to the project directory:

    cd SmartClassRoutineManagementSystem
  • Open the project in VS Code:

    code .
  • Open the terminal in VS Code (Ctrl + J).

Install Dependencies

  • Install all the required dependencies by running:

    npm install

Database Setup

1. Install MySQL

  • 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.

2. Create a Database

  • Open your MySQL Workbench or terminal and log in as the root user.

  • Create the required database:

    CREATE DATABASE db_class_routine;

3. Configure the Project for Database

  • The database configuration is stored in the config/db.js file.

  • If you're using a different MySQL username or password, update the config/db.js file accordingly:

    const db = mysql.createConnection({
        host: "localhost",
        user: "your_mysql_user",
        password: "your_mysql_password",
        database: "db_class_routine"
    });
  • Replace your_mysql_user and your_mysql_password with your actual MySQL username and password.

4. Environment Variables

  • Create a .env file 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-key with your own secure secret key for JWT.

5. Set Up the Project

  • Run the following commands in the project directory:

    npm install
    npm run migrate
    • The npm run migrate command will set up all necessary tables and seed data into the database.

6. Verify the Connection

  • Start the application:

    node server.js
  • If the setup is correct, you'll see a success message:

    Connected to MySQL database
    

Accessing Project Files

To access all necessary project files, clone or download the project from the following GitHub repository:

JUCSE49-Mavericks/SCRMS-Files


Running the Application

Start the Application

  • To start the application, run the following command:

    node server.js

How to Develop

Create a New Branch

  • To start working on a new feature or bug fix, create a new branch:

    git checkout -b <new_branch_name>

Make Changes

  • Implement your changes.

  • If you need to modify the database structure (e.g., adding new tables), run:

    npm run migrate
  • Run tests to ensure everything works:

    npm test

Commit and Push Changes

  • 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>

Create a Pull Request

  • Go to the GitHub repository and create a pull request.

Review and Merge

  • Review the pull request and merge it after approval.

Update Local Repository

  • Keep your local repository up to date by pulling the latest changes:

    git pull origin main

Troubleshooting

  • Error: Cannot start the application
    Solution: Ensure that all dependencies are installed by running npm install.

  • Error: Database connection failed
    Solution: Ensure your database configurations are correct in config/db.js.


Contributing

  • 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.

🎉 Enjoy using the Smart Class Routine Management System!

About

Simplify scheduling with the Smart Class Routine Management System! Plan, organize, and manage class schedules effortlessly. Automate routines, save time, and stay on track with ease!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors