Inspiration
MyPlan doesn't provide some filters that are convenient like excluding courses that are conjointly offered, or courses that have additional costs, etc. Therefore we want to provide students with fast, simple, and clean user interface schedule builder with additional filters.
What it does
Flash Schedule is a web app that finds courses and builds schedules for students with additional filters to make the process more efficient. Inputs can include some selected courses and filters(like total credit, time, number of courses * credit type, has Quiz section or not, etc.). Outputs should be a list of courses that satisfies all the input filters for the course finder part. Outputs should be a list of possible schedules that includes the selected courses and satisfies all the input filters for the schedule builder part. (Ps. It will be similar to course finder and schedule builder on MyPlan but with the additional filters like excluding major-only courses, conjointly offered courses, courses with additional charges, etc.)
(P.S. due to time limitations, we didn't finish the filters part)
Current function including adding and removing courses, viewing possible schedules and pinning schedules.
How we built it
- Backend in Java
- Frontend in React
- Web scraping Python
Source code
Known issues
- Can't deal with sections with multiple different meeting times like (MWF 1130-1220, TTh 1100-1150)
- Currently our program will only display one of that meeting times
- Aboslute layout of courses cards
- Course data at back end only has CSE & MATH department courses based on winter 2021 time schedule.
To interact with the front end, you can do the following
- Change the time zone on the top left corner
- Click on a schedule button to display that schedule
- Double click on the pin icon on a schedule button to pin a schedule, this schedule will be pinned and will display its contents on the right side
- Add a course by typing course department and course code plus optional sectionID in the input box and click the "Add" button (Course department need to be capitalized)
- Remove a Selected Course by clicking on the "Remove" button next to that course
Challenges we ran into
- Retrieving and formatting course data from UW Time Schedule
- Front end/Back end interaction
- Setting state in React with a lot of states when they have to been update several times.
- Deploying the final product on Heroku.
Accomplishments that we're proud of
- Teamwork
- Shipping a functional product
- Learning by doing
What we learned
- The idea is very simple and straightforward but coding it to work is actually challenging.
- The importance and benefits of architecture designing before implementation.
- Handling json data between server and front end code.
- More knowledge about web requests headers such as
Access-Control-Allow-Origin. - React
What's next for Flash Schedule
Add more features and refactor code to ensure it gives users with best performance.

Log in or sign up for Devpost to join the conversation.