Inspiration for CampusNow

We were inspired by the mapping app Waze and how users can provide real-time, crowd-sourced updates that enhance the experience and usefulness of the platform for everyone. We also wanted to create an app that combines the features of other existing apps into one place, such as dining hall menus, an interactive campus map, information about the campus buildings, and a system to provide comments about different locations.

What CampusNow does

CampusNow is the ultimate digital guide to Purdue University, designed to streamline your campus experience in a single, intuitive platform. It features a live interactive map showing building locations, real-time busyness levels for sites such as libraries, recreational areas, and parking garages, and user-reported alerts for everything from free food to campus events. With detailed information on each academic hall, residential building, dining court, and all other buildings, our goal is to make navigating campus life smarter, faster, and more connected for everyone.

How we built CampusNow

We built CampusNow by leveraging the power of Firebase, which worked seamlessly with Google's Gemini to accelerate and enhance our development process. This synergy enabled us to architect a full-stack, server-rendered application using a modern tech stack, including Next.js, React, and TypeScript for robust performance and type safety. Our user interface was crafted with Tailwind CSS and ShadCN UI for a clean and accessible design, while the backend relies on Firestore for real-time data storage and Firebase App Hosting for automated deployments. Key features such as the interactive map were implemented using Leaflet.js and a few other packages.

Challenges

One of the most significant challenges we faced was constructing the Firestore database and its security rules to support our vision for a fully crowd-sourced application. We wanted all users of our app to be able to submit an activity report to provide real-time data. Our initial, more restrictive security rules prevented this, so we refactored them to create a secure, public-write capability. This involved meticulously crafting rules that permit users to add new reports to a specific collection, simultaneously preventing them from reading, modifying, or deleting any other data, ensuring both open contribution and data integrity.

Accomplishments

We are proud of our functional database and the ability of users to submit real-time activity reports, thereby updating the data for each building's activity level. We spent hours reworking this process as we learned about which correct security rules were needed, and when we finally implemented this feature correctly, it was very satisfying. We are also proud of successfully integrating Leaflet.js to create a custom, interactive map that dynamically displays real-time data from user reports and serves as the app's central, intuitive interface.

What we learned

All members of our team were new to Google Firebase, so we quickly learned to navigate its features, create databases, and troubleshoot errors together as a team. We also learned how to manage our time and work as a team to create a finished project in only 24 hours. And finally, we learned how to transition from an idea of our project to a concrete design, then to a map of the website features, and finally, to a working product.

What's next for CampusNow

Our next steps are to add an incentive to make busyness reports on the app, such as awarding users points for each report they make. These points would lead to badges and flair for each user's profile. We also plan to implement protection to combat trolls, including a filter for inappropriate messages and an admin account that can ban users and delete messages. Our ultimate goal is to expand CampusNow to other colleges, so that everyone, not just boilermakers, can enjoy the benefits of our application.

Built With

Share this project:

Updates