After hours upon hours of difficult course decisions and frustration with the lack of accessibility of advising at our university, Northeastern, we decided to develop a better, more accessible source of schedule advice.
What it does
ScheduleNEU is a service for planning out a degree at Northeastern University. Designed to emulate the typical questions asked by a counselor during a hard-to-attain meeting, our application has a user fill out a survey then receives course recommendations depending upon their desired major and extracirricular interests.
How we built it
We first began to develop the React front-end, letting the needs of a hypothetical end user define the structure of our project. We then constructed our database to make the proper queries from the back end in order to supply the front-end with dynamic information to query. Through a lot of trial and error, we were able to produce a flattering product with great potential!
Challenges we ran into
We first began to attempt to use Google Cloud Platform and Kubernetes, despite having no experience with the platforms, then eventually abandoned the services for an easier service familiar to both of us - Heroku. One of us had lots of trouble connecting to the Wifi provided on his Linux machine, and had to reconstruct his development environment through downloading lots of programs on a Windows 10 dual boot. We ran into many gaps in understanding with the libraries we used as well, but these were all resolved with tenacity (and/or a google search).
Accomplishments that I'm proud of
We both picked up a variety of technologies and began to implement them very quickly to assemble this web application in less than 24 hours.
What We learned
With one of our team members completely new to web development, he was brought up to speed and progressed from learning the basic templating of HTML to utilizing advanced React.js concepts by the end of the hackathon! We also gained lots of experience with Google Cloud Platform tools (even though we ended up being unsuccessful using them in the end) and learned the nuances of Java data structures within the context of the Spring Boot framework.
We also learned how important it is to keep the scope of a project small - at every turn, we realized that we could implement more and more features to enhance the capabilities of the application, but we had to continue to tamper our expectations of ourselves as relatively new web developers.
What's next for ScheduleNEU
We'd like to extend the program to collect data from our school's scheduling services at some regular period rather than requiring the data to be auto input - this will allow us to more easily maintain the application going forward. We could allow those using the app to be presented more options as to what their electives could be and allow them to rearrange their schedule (as permitted by prerequisites). In this vein, we could also present users with class alternatives and 'or' prerequisites to enable the user to better customize their degree plan after we've presented it to them. Exporting to .csv with comments or annotations indicating future potential for features could be beneficial as well for counseling or planning.
We could also extend this application to schedules from other schools, developing a very helpful long-form degree scheduling web application.