Inspiration

Coachella is in less than 3 months. We all love to go to music festivals. All of us have lost our friends at musical festivals, and it's very unfortunate when we do. Also verbally planning which friends you're going to see artists with is a major pain.

What it does

Interconnects multiple users through a firebase realtime database, allowing users to select which performers they would like to see during a music festival, and updating all other users with this information so that they can see exactly which friends will be attending the same performances as them. Has offline capabilities as well, seeing as most people lose cellular connection at music festivals, because of a high density of people. Firebase automatically syncs up any requests made offline once connection is found.

How we built it

Set up a Google Firebase realtime database and linked it to our android application. Loaded information into our database, using last year's Coachella lineup as a model. Used a recycler view to display each performance from the database. Created CheckBox objects to allow users to select which performances they would like to see. Used SharedPreferences to create individual profiles by forcing users to create a username upon first launch of the application, which would then be used as a constant for displaying profile info. Implemented AlertDialogs which were triggered by LongClickListener and asynchronous retrieval of information.

Challenges we ran into

Android API 29 doesn't work work with firebase. Only took 4 hours to figure this out. Understanding dataSnapshots vs dataReferences and being able to conceptualize momentary static information retrieval. Dynamically indexing lists within our database proved to be hard because of the way firebase models information. Optimizing layouts for UI design. Strange nuances (ex. onlongclick doesn't work with alertDialogs without work-arounds) that needed to be accounted for.

Accomplishments that we're proud of

We actually finished everything we said we would do. First time ever using a realtime DataBase framework, as well as REST Api and we were able to teach ourselves all of the functionality we were searching for. Persistent checkboxes, as well as a login feature. None of us have ever made an Android App too. Getting the app to work with offline capabilities.

What we learned

How to build an Android App, how to use Android Studio, How to create a Firebase Database, how to link databases to android apps, we all became much better at using version control (sublime merge specifically), modeling data, real time changing of information - both in memory and in-app.

What's next for Festy

Groups for users to create and join, seeing as right now everybody accesses the same database. Adding functionality for more festivals than just Coachella. Spotify playlists for performers was an idea. GPS location for meet-up spots before performances.

Share this project:

Updates