Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tjwz1/Scheduleify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Class Scheduling Application

This project is a class scheduling application designed to assist students in optimizing their course schedules based on credit limits and time conflicts. It includes a backend server built with Flask and a frontend for user interaction.


Getting Started

Follow the steps below to set up and run the application.

Prerequisites

Ensure you have the following installed on your system:

  • Python 3.x
  • pip (Python package installer)
  • Visual Studio Code (VS Code) with the Live Server extension installed

Backend Setup

  1. Open a terminal and navigate to the project directory.

  2. Run the following commands to install the required dependencies:

    pip install flask
    pip install flask-cors
    pip install requests
  3. Start the Flask server by running:

    python app.py

    This will host the API locally.


Frontend Setup

  1. Open the project folder in Visual Studio Code.
  2. Navigate to the client folder and locate the index.html file.
  3. Right-click on index.html and select Open with Live Server.
    • If you do not have the Live Server extension installed, you can install it via the VS Code Extensions Marketplace.
  4. Copy the preview link generated by Live Server (e.g., http://127.0.0.1:3000/client/index.html) and paste it into Google Chrome for the best user experience.

API Reference

This project utilizes the University of Florida API to retrieve course and schedule data. For more details about the API, refer to its GitHub repository:


Features

  • Greedy Scheduling Algorithm: Quickly schedules classes by selecting the first available section that fits the constraints. Designed for speed but may not produce the most optimal schedule.
  • Dynamic Programming Algorithm: Considers multiple scheduling configurations to optimize the number of classes and credits while respecting constraints.
  • Conflict Management: Ensures no overlapping time periods or duplicate courses are added to the schedule.
  • User-Friendly Frontend: Provides an intuitive interface for users to view and interact with their schedules.

Contributing

Contributions to improve the scheduling algorithms, frontend design, or integration are welcome! Feel free to fork the repository and submit a pull request.


License

This project is open source and available under the MIT License.


Enjoy building your perfect schedule! 🎓

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •