Inspiration

As someone who tries to attend club and school events as much as possible, keeping track of club meetings, school fairs and activities, and dealing with time conflicts has always been a headache for me. Further, finding out about clubs and other events has sometimes been challenging; if I hadn't gone to the B-Involved fair, I would have had no idea that any clubs existed at Purdue at all. I've always wished that there was a centralized place to discover, track, and promote school events, and I hope Rally can be the platform to do just that.

What it does

Explore

Attendees can browse the most popular events available. They can also refine their search by being able to filter with tags. Users can also choose to browse what's nearby, using a map of Purdue campus, powered by the Google Maps API.

Organize

Users can easily create an event by filling out a simple form that includes details like the event name, date, time, and location. Once the event is live, other students can RSVP with a single click. This feature aims to make the process of organizing and attending events as straightforward as possible.

Export to calendar

Rally integrates with existing calendar apps and can export the events they've joined into an automatically updating calendar feed.

How we built it

Rally is built using TypeScript, Next.js, and Firebase. We started by creating design documents for pages and data structures for communicating between the frontend and backend. We then implemented them in parallel while debugging our app locally.

Challenges we ran into

Learning how to edit code in parallel and bounce ideas back and forth was a challenge, since using Git would cause tons of merge conflicts. We were able to get past this by using Code With Me, a feature of JetBrains products that allowed multiple people to work on the same project at once.

Accomplishments that we're proud of

We're especially proud of the confetti that appears when you RSVP for an event. We're also proud of the map that shows all upcoming events happening in the area.

What we learned

We learned about the Cloud Storage API on Firebase, which we used as a CDN to host user images. We also learned about using the Google Maps API to render event markers, as well as implementing Microsoft OAuth to authenticate users' Purdue accounts.

What's next for Rally

We hope to continue Rally's mission by improving and refining its features so that it may soon be in use by the Purdue Community. We hope to use Purdue's SAML authentication to replace Microsoft's.

Built With

Share this project:

Updates