Due to covid-19, schools are now online. With a major shift like this in our lifestyles, there come many advantages, but a few disadvantages. One of these challenges includes being organized in the virtual world. From making sure we turn assignments in on time to just making sure we join the right zoom link at the right time, all of these are major adjustments in our lives. One of the biggest issues that we noticed in our personal lives was tracking zoom links. When our teacher posts zoom links in our google classroom pages, they get lost and mixed up in the stream with all the assignments. When they email it to us, we lose it as more emails pop up in our inbox. However, a website or app can easily be found on our devices whether it’s by bookmarks of keeping the app on the homepage of our device. We wanted to make a website that would make our lives a whole lot easier. Using our app, students don’t have to worry frantically looking through their class stream or emails worried about being tardy to class just to find that one zoom link that they need to join their class.

What it does

Our application, NodeShack, takes the stress of making sure that you know what zoom class to go to. It does this by first having a base planner app that helps keep your zoom links tidy and organized. We also gave the option for signing up with google for even more convenience. Then we added 2 main integrations to our project. One was the ability to have your classes be dynamic rather than storing them in the database. This was through the use of google classroom and the API. Our code searched for zoom links in each google classroom by going through each announcement and looking for the latest zoom link. This ensures that when a teacher changes a zoom link, it is updated on our website. Our other main integration was google calendar. Simply use our format for your google calendar for classes, and we will take care of the rest. On top of this we also had many small features to help out in the stressful time of online learning.

How we built it

We built this web app using PHP as our backend and javascript/html as our frontend. We chose php since it was a familiar language that helped us get our base app up and running quick. We also chose it because of its interconnectivity with SQL, our database. Using this, we styled with HTML and CSS. For the integrations with google classroom and calendar APIs, we chose javascript. Although we were not very proficient at javascript, we were able to use the google documentation to get the result we wanted. We merged using git version control, which helped keep us all up to date. We used apache as our web server since it worked well with php for local testing.

Challenges I ran into

One thing that was challenging was integrating all the different pieces. We split up the work based on our skill set, but making everything work together was difficult. Some of the large challenges we ran into were taking the code and merging it together. From the beginning, we already had the google classroom integration complete, but we struggled to get that data into the database or even into a PHP variable. We also struggled with different databases, since we all used different ports and passwords, making testing others code more time consuming.

Accomplishments that we’re proud of

We are proud of our strong teamwork and perseverance. When problems got hard we stepped back and troubleshooted. When things didn’t go according to plan, we talked as a team to find a good solution that would not compromise the quality of the app. This taught us how to work together as a team better! We also managed to learn some javascript , which we didn’t know any of before. Additionally, we were able to include some of this in our web-app and it worked! Finally, we learned how much fun hackathons are!

What we learned

Throughout this project, we all learned so much more than we thought we would. With this being all of our first hackathon, we learned how to properly collaborate with a team and work on a strict timeline without being stressed out. Additionally, none of us knew javascript prior to this hackathon, and we learnt it along the way. One more thing that we learned is that it is extremely important to be organized. There were times where code would work on our laptops, but when we sent it to our teammates, it wouldn’t work for reasons such as database credentials being different or a different port used.

What's next for NodeShack

NodeShack will work on being even more convenient. Some ways this might happen are with more integrations (who says we can only have google integrations) and making the user experience even better. Additionally, we could even make it so that our website automatically takes users into their meeting. We could even migrate to google firebase or another server so we can get faster results and more info about what we can do to make the experience even better. We can also look into making it available as an iPhone or Android app. The possibilities are endless!

Built With

Share this project: