Inspiration

When we first came to Purdue, the only library we knew was Krannert. Nobody taught us about the beautiful libraries/study spots we have on campus. Since we did not have the opportunity, we wanted to help current and incoming students enjoy their time at those amazing study spots. That is why we created Boiller Clash. Hopefully, we want to make students feel comfortable and motivated to study at Purdue through our app.

What it does

Boiler Clash tracks students' study hours within designated Purdue University libraries using background location tracking. It features leaderboards to show top-performing students and introduces a unique "building takeover" system, where college departments can conquer campus buildings by competing for the most study hours. Additionally, it offers real-time crowdedness maps and personalized study statistics for students who need quiet places.

How we built it

We built Boiler Clash using React Native for mobile app, Expo for development/testing, Express.js and MongoDB for backend, React Native Paper for the UI components, and Render for remote API hosting.

Challenges we ran into

  • Backend Compatibility: In a short amount of time, we built two separate services, ensuring their compatability with constant communication and clear endpoint documentations.
  • Map API: Considering the game-like nature of our application, we required an API with flexible drawing. Yet, React Native's static nature hindered us to work with existing libraries.

  • Extensive Features: We resulted with numerous great features that pulled all nighters throughout the weekend.

Accomplishments that we're proud of

  • Heatmap: Used react native map API to dynamically show crowdedness of Purdue's campus.
  • Efficient Data Retrieval: We chained a lot of information inside our DB to speed up leaderboard computations. Though this increased a little bit of space overhead, we won't see slowed down leaderboard on our app.
  • Compute Study Hour based on Location: Used personal GPS and coordinates of libraries to compute the study hours of students at Purdue.
  • Fullstack Development: Without relying on much cloud services, we built a fullstack application. This allows us for further work to deploy and scale our application!

What we learned

  • Communication: Make sure to communicate properly before getting into coding. Any assumed understandings often results in hours of debugging
  • Documentation: Clearly document your code before and after coding. Before coding helps you and your teammates understand your task and code accordingly. After coding is for pair reviews and faster debugging.

What's next for Boiler Clash

  • Scalability: Make the app more scalable by hosting the backend to a cloud service.
  • Better Data Visualization: Make the visualization more vivid and intuitive.

Built With

Share this project:

Updates