Skip to content

albdangarcia/scheduling-algorithms

Repository files navigation

Scheduling Algorithms

Scheduling Algorithms

typecript docker

This web application is designed to simulate and visualize various CPU scheduling algorithms. Users can input process details and see how different scheduling methods affect the execution of processes. The supported algorithms include: First-Come, First-Served (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Scheduling.

Live Demo

Getting Started

Follow these steps to run this project on your local machine.

  1. Clone the repository

    You need to clone the repository to your local machine. You can do this with the following command:

    git clone https://github.com/albdangarcia/scheduling-algorithms.git
  2. Navigate to the project directory

    Change your current directory to the project's directory with:

    cd scheduling-algorithms
  3. Install the dependencies

    Now, you can install the dependencies required for the project with:

    npm install
  4. Run the application

    You can now run the application in development mode with:

    npm run dev

    The application should now be running at http://localhost:3000 (or whatever port you have configured).

Docker Container

To run the application as a Docker container, you need to have Docker installed on your machine. Once Docker is installed, you can use the Docker Compose command:

  1. Build the Docker image:
    docker compose build
  2. Run the Docker container:
    docker compose up

Future Improvements

Here are some features I'm planning to add in the future to improve the animation experience:

  • Animation Timeline Control: We plan to add a slider that will allow users to control the animation timeline. This will provide users with the ability to move forwards and backwards through the animation at their own pace.

  • Animation Speed Control: We're also planning to add a feature that will allow users to control the speed of the animation. This will give users the ability to slow down or speed up the animation as needed.

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas or report bugs.

License

This project is licensed under the MIT License.