Skip to content

The future of scheduling is here. Enteprise Open Source Part 1 Assignment

License

Notifications You must be signed in to change notification settings

dikshaguptaa/SwampScheduler1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐊 Swamp Scheduler 📆

Build Status Issues License Contributors Last Commit Forks GitHub stars

An open-source web app developed to help students at the University of Florida plan for classes next semester. It's available now!

Made with ❤️ by UF's Open Source Club (@ufosc).

Table of Contents

Features

  • Course Explorer: Explore courses offered at the University of Florida
    • Find courses by course code, title, or instructor
  • Course Selections: Make multiple courses selections with backup options.
    • Pick which classes you want (and remove which sections you don't)
  • Schedule Generator: View and compare all the possible schedules and pick the one that fits your needs and wants.
    • View color-coded schedules that show what your day-to-day struggle workload will be

Installation

Prerequisites

This is to be done in command prompt. Make sure to navigate to the desired directory you want to set up the project in using:

cd path/to/directory

Make sure to have npm and 'nodejs' installed.

sudo apt install nodejs
sudo apt install npm

Setup

Clone the Repo

Clone the repository to your local machine:

git clone <repository-url>

Install the Dependencies

Enter the SwampScheduler directory, then navigate to the app folder and install the necessary dependencies (React, Tailwind CSS, etc.):

cd SwampScheduler/app
npm install

Install Prettier: Prettier is a code formatter that make sure the coding style is consistent.

npm install --save-dev prettier

Vulnerabilities: There might be some vulnerabilities within the package, so it is necessary run

npm audit

This may not be necessarily important for everyone depending on their devices, so follow the instructions given by the terminal.

Run Prettier:

npx prettier --write

Usage:

In the web-app directory:

  • Development: Run npm run dev to run the development server locally (with hot reloading).
    npm run dev
  • Production: Run npm run build to build the app to /app/dist.
    npm run build
  • Ensure that dist is a file in the app folder using dir
    dir

Contribution

Before you can make good contributions, you need to know a little bit about what we're using and how the web-app works. After that, you should be ready to get your hands dirty!

What We're Using (our Tech Stack)

This project is built using a variety of exciting technologies, including:

  • TypeScript: The JavaScript programming language with a typing system (for Course objects, etc.)
  • React: A JavaScript library for building dynamic user interfaces.
  • Tailwind CSS: A utility-first CSS framework.
  • Vite: Simply used as a build tool and development server.

How to Contribute

  1. Fork the repository to your GitHub account.
  2. Clone your fork to the local machine.
  3. Create a branch for the changes.
  4. Make the changes on the local branch.
  5. Test to ensure the code passes all existing tests and create new tests when necessary.
  6. Commit the changes in a clear message.
  7. Push the changes to the GitHub fork.
  8. Submit a pull request by going to the original repo and submit a PR by linking it to the relevant issue.
  9. Be responsive to comments or reach out to repo owners to let them know of any changes.

Follow The Projects' Style

Make sure the the following components follow the codes current format style.

  • Indentation
  • Naming Conventions
  • Comments
  • Code Structure

How It All Works

Be sure to read (yes, read) some of our code. Everything works better when we all understand what we're talking about.

SwampScheduler's documentation is a work-in-progress.

Give Me Something To Do!

There are lots of things that can be done, and a lot of them are on our back-burner.

Take a look at what issues (enhancements, bug fixes, and ideas) are open. If you find one you like, assign yourself and be sure to talk to other people about what you're doing (it helps us, the maintainers best allocate our resources).

Maintainers

We're your Technical Leads, Product Managers, and Mentors all-in-one:

License

GNU Affero General Public License v3.0

About

The future of scheduling is here. Enteprise Open Source Part 1 Assignment

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 85.3%
  • Python 12.1%
  • HTML 1.4%
  • JavaScript 1.1%
  • CSS 0.1%