A Node.js and React-based web application that simulates job scheduling on a single machine with various scheduling algorithms. This project helps users understand different scheduling strategies and experiment with custom conditions for job processing times and due dates.
- FCFS (First-Come-First-Serve): Jobs are processed in the order they arrive.
- SPT (Shortest Processing Time): Jobs with the shortest processing times are prioritized.
- LPT (Longest Processing Time): Jobs with the longest processing times are prioritized.
- SST (Shortest Slack Time): Jobs with the smallest slack (time until due date minus processing time) are prioritized.
- SCR (Slack per Remaining Operations): A variant of SST focusing on remaining operations.
- User-Specific: Allows users to define a custom job order.
- Case 1: Random processing time between 2 and 10 units.
- Case 2: Random processing time between 2 and 50 units.
- Case 3: Random processing time between 2 and 100 units.
- Case 1: Due dates are a random number between 30% and 90% of the total processing time.
- Case 2: Due dates are a random number between 50% and 110% of the total processing time.
This project is a Node.js-based React website. To run the project locally, follow the steps below.
- Install Node.js from the official website.
- Ensure you have Python installed for the server-side script.
-
Clone the repository and navigate to the project directory.
-
Install dependencies and start the client:
cd client npm install #if you are running it for the first time npm start
-
Start the server: Open a new terminal, then run:
cd server python app.py
-
Access the Application:
- Open your web browser and navigate to
http://localhost:3000
to use the scheduling simulator.
- Open your web browser and navigate to
Here are some common issues you may encounter and how to solve them:
- This error can occur if Node.js is not added to your system’s environment variables.
- Solution:
- Windows:
- Open the Start Menu, search for Environment Variables, and select Edit the system environment variables.
- In the System Properties window, click Environment Variables.
- Find the Path variable under System variables, select it, and click Edit.
- Click New and add the path to your Node.js installation (e.g.,
C:\Program Files\nodejs\
). - Click OK to save the changes, then restart your terminal and try running
npm
again.
- Windows:
- If you see an error related to PowerShell not allowing script execution, it’s likely due to PowerShell’s execution policy settings.
- Solution:
- Windows:
- Open PowerShell as Administrator.
- Run the following command to allow scripts to run:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Type Y to confirm, then press Enter. This change allows PowerShell to execute local scripts while still protecting against remote scripts.
- Windows:
- Koyna Pandit (230003034)
- Rucha Jatin Prabhu (230003060)
- Lavanya Bhatnagar (230003035)
- Muhammed Nihal (230003044)
- Sri Varsha Dodda (230003074)
- Nambiar Anand Sreenivasan (230003046)