I realized that the current scheduling system at Rutgers (WebReg) does not display information in a very user friendly or UI-focused manner, which inspired me to design the app with both functionality and aesthetics in mind.
What it does
It takes your inputs (your subject number, course number, and section of each class you have) and checks with the Rutgers SOC (Schedule of Classes) to make a beautiful and printable weekly schedule.
How I built it
Lots and lots of JQuery to get all the animations and functions to play out smoothly (again, focused a lot on UI and UX). Standard HTML, CSS-heavy build. Made a few Ajax calls to Python program which then requests from the SOC. It returns a JSON file which is then decoded within the same Python file, sent back to Plan Rutgers to be implemented in a redirect calendar page. Calendar page has custom URL+JSON data saved in an SQLite DB so user can come back to it in the future. Domain was provided by the free domain cards from Domain.com!
Challenges I ran into
Trying to get the JQuery animations exactly how I wanted took longer than it should have, but was worth it in the end. Encoding and decoding JSON within Python was a bit complicated, but I soon realized that multi-dimensional for-loops can only go so far before you wrap the fabric of space-time so I spent a few hours on solving that.
Accomplishments that I'm proud of
I'm really liking the minimalistic look of my web app. I really want people to see that the back-end should not reflect the front-end, especially with things that the user interacts with. Designing and programming should not be mutually exclusive, even if the process might be.
What I learned
- There are never enough free domains.
- There are never enough free t-shirts.
- There are never enough free stickers.
- Caffeine is one helluva drug twitch.
What's next for Plan Rutgers
- Prevent users from entering courses which might have times that overlap with each other + make it much more responsive for use on mobile and lower-resolution devices.
- Implementing a custom URL functionality, so that users can get to their page from either something like planrutgers.com/ABC77 or planrutgers.com/DavidsFallSchedule
- Making a schedule-comparing functionality: say you want to see the intersecting free times in between classes with five of your other friends; enter your schedule links and you'll be able to coordinate events with mutual access to a schedule of each others' classes and the free slots in between.
- Link up this app with another app that helps you find the closest bus stops to your classroom building, along with fastest and most efficient bus routes to take to that building (would probably be very useful for first-year students).