Inspiration

While brainstorming for potential project ideas, we decided we wanted to make a project that would help college students. This was particularly due to the success of the GoGaucho iOS app, seeing as it was an app built by a UCSB student and one we all used frequently. We wanted to offer a solution for an inconvenience that we felt many students may have faced previously. Finally, we decided on creating a four year planner after one of our group members reflected on his non-intuitive experience trying to make a study plan, as required by the petition to change majors.

What it does

Our webapp has users input data about their previous studies, which then translates to the completed UC Graduation Requisites. The app then brings the user to a page that neatly lists out all the classes they can take to complete each remaining UC requirement, and allows them to select which classes they'd like for their schedules. On the final page, the user is presented with a prebuilt schedule based on their intended year of graduation. The user also then has the option of dragging and dropping the courses as they please around the interactive planner.

How we built it

Starting with a brainstorming session on what we wanted the user interface of the website to look like, we then wrote out pseudocode on how we could implement each part of the site. We created a multi question form that users could enter their data into, using HTML select elements, checkbox elements, and radio buttons. Then the user could search through a dynamic catalog of all UCSB courses written as Javascript objects and select the ones they have already taken. This search functionality was also implemented with an autocomplete feature. Finally, on the scheduling page, we used Javascript to create a drag and drop interactive table. After coding the webapp, we used the free domain granted by MLH and uploaded our files into the Google Cloud Platform to publish our website on the internet for anyone to use!

Challenges we ran into

Lots. First of all, one of our biggest struggles was finding a way to create a Javascript object with unique attributes for every UCSB course. We knew we could input the data manually, but the idea of entering data for hundreds of courses was daunting, and we kept trying to think of solutions to expedite the process, which came to no avail. As a result, we wasted a lot of time trying to create a program for this, when we ultimately ended up manually entering some sample classes that the webapp would still work with and narrowing down to only College of Engineering majors. Another problem we faced, was that only one of our team members came in with any HTML/CSS/Javascript experience, so before we could even start, we all had to dedicate a lot of time and effort into learning these languages. The BIGGEST challenge we faced was trying to transfer the user input data from one page into another. After reading that this could be accomplished through PHP, ajax, sessions/cookies, JSON files, or other difficult methods we had never heard of, we ultimately decided to try to implement it with PHP. Unfortunately, we couldn't manage to get this to work, so we settled with just redirecting the first form to the scheduling page just as a sample of how the webapp might work.

Accomplishments that we're proud of

Although, most of us came in with little to no webapp experience, our team will leave SB Hacks with an abundance of new skills, languages, and real life project experience! In addition, we have the a solid foundation for a website that we can update in the future when we attain more knowledge on how to do so.

What we learned

Aside from the new coding languages we learned, we also learned how to plan out a project from scratch, in a practical and cooperative manner. Each team member had a voice in how they wanted the website to be and we all built upon each other's ideas to overcome our struggles.

What's next for GauchoPlan?

In the future, we hope to implement the transfer of user input data between pages and the addition of the entire UCSB course catalog so that the webapp can actually be used by any Gaucho!

Share this project:

Updates