Inspiration

For many, going to the movies is a wonderful and desirable experience, yet due to a myriad of inconveniences, we choose not to. As we walked across the RMC, conversing about Reddit trolls, we spotted a television screen, displaying a static Rice page. One idea connected to another and we soon found ourselves discussing the AMC theaters and the ways they can increase their presence at a time where people want to, but at the same time cannot bring themselves to, enjoy a good movie.

What it does

Our app matches the user to the cheapest nearby movies based on parameters provided by the user, such as their time availability, how soon they want to watch a movie, if there is a specific movie they want to watch, and more.

How we built it

We used Android Studio for the frontend / UI. For the backend, we did tasks including pulling data (movie names, prices, showtimes, etc.) from a Google Firebase database and created Java functions to manipulate each component. This was done using a combination of GitHub (for easy code management and sharing), Android Studio (to check if the backend and frontend connected), and VSCode (to code our functions).

Challenges we ran into

One of the main challenges we faced was finding a database with our updated movie data. Most movie companies have APIs (like AMC, Fandango, IMDB, etc.); however they all require us to get approval before using their API, so for this hackathon we were not able to utilize a fully-fledged movie database; we decided to create our own Firebase database instead. Integrating this database with Android also turned out to be one of our biggest challenges, as we faced build issues, compatibility errors, connection key errors, etc.

Accomplishments that we're proud of

Though we faced a lot of troubles getting our database to connect and parsing through the data, we were ecstatic when we got it all to work out. Seeing everything work in tandem made us quite proud.

What we learned

We had some database experience beforehand, but not with Android apps. Getting our database to link with our Android app was one of the biggest things we learned; we can apply this skill to future projects requiring large amounts of data handling and let cloud computing do some work. We also did not really have much frontend experience, so learning how to create our Android frontend was one of the biggest new skills we gained.

What's next for MovieMate

For the future, to build on creating the most personalized movie experience, we will integrate choices of snacks that are offered at theaters. Many movie experiences are not only fulfilling in the big screen itself but also in the environment. This is why we will also include parameters such as recliners and seat sections (in terms of front/back/center). Furthermore, we requested access to APIs but were not granted access during this time period. With more data, we plan to integrate machine learning concepts to automatically provide movie suggestions to our users based on movies they have watched before. We can also factor in their past habits such as prices and seating preferences to provide more specific suggestions. Location permissions will also enable us to give recommendations that are closer to home.

Share this project:

Updates