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).
- 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
struggleworkload will be
- View color-coded schedules that show what your day-to-day
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
Clone the repository to your local machine:
git clone <repository-url>
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
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 theapp
folder usingdir
dir
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!
This project is built using a variety of exciting technologies, including:
- TypeScript: The JavaScript programming language with a typing system (for
Course
objects, etc.)- Familiarize yourself with TypeScript’s documentation to understand the basics and best practices.
- React: A JavaScript library for building dynamic user interfaces.
- The official React documentation is a great resource for learning about component-based architecture and state management.
- Tailwind CSS: A utility-first CSS framework.
- Review the Tailwind CSS documentation for understanding utility-first styling and theming.
- Vite: Simply used as a build tool and development server.
- Learn how to set up, configure, and use Vite from Vite’s official guide.
- Fork the repository to your GitHub account.
- Clone your fork to the local machine.
- Create a branch for the changes.
- Make the changes on the local branch.
- Test to ensure the code passes all existing tests and create new tests when necessary.
- Commit the changes in a clear message.
- Push the changes to the GitHub fork.
- Submit a pull request by going to the original repo and submit a PR by linking it to the relevant issue.
- Be responsive to comments or reach out to repo owners to let them know of any changes.
Make sure the the following components follow the codes current format style.
- Indentation
- Naming Conventions
- Comments
- Code Structure
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.
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).
We're your Technical Leads, Product Managers, and Mentors all-in-one:
GNU Affero General Public License v3.0