Sometimes life really kicks you in the butt, and you feel like the world is ending. Especially with the whole pandemic, I feel isolated and depressed. For me, during tough times, nothing comforts me more than music and any sign that someone actually cares about me. So I decided to combine these two, and created an app where you can give people music anonymously. Nothing to empower you for that important interview tomorrow than a gift of Rise Up by Andra Day with a message of "You rock!", or being Rick rolled with a message of "Hope I made you at least chuckle today (:".
What it does
Users use google sign in to create a unique account and user ID. That ID and all pertinent data is stored onto CockroachDB. Users can then view songs that other people received by pulling from the database. Users can also submit their own songs + messages which writes to the database (along with their geolocation). Users can then get a song by clicking get song data, which retrieves the video from the server, along with the message and geolocation (geolocation is converted to address, which we then parse out and only get the city, states and country). To end the session, users can log out, or close the app (:
How I built it
I used Google Geocoder API, Google Youtube API, Android Studio, CockroachDB, Pierfrance Scosoffritti's Android Youtube Player library to implement the youtube videos playing in app easily, Henning Dodenhof's CircleImageView library to get the circular user icon.
Technical specifications for the app:
Backend requirements: Django==3.1.2 django-cockroachdb==3.1.1 psycopg2-binary==2.8.6
Frontend requirements: Android API 17: Android 4.2 (Jelly Bean)
Language used: Python, Java AWS Instance: EC2 Ubuntu Web server: Nginx and gunicorn Database host: CockroachCloud API: https://www.getpostman.com/collections/8a8c086865cc8c4a7b2b
Challenges I ran into
Definitly coding solo. It challenged me to be a full-stack developer. I had to conceptualize the idea and find the libraries that could implement what I wanted. Implementing many libraries (and failing until I found the right one), implementing Google APIs which are always fun to work with. Blowing up my app after getting it working after changing one tiny little thing, then forgetting what I changed and debugging the whole thing all over again.
Accomplishments that I'm proud of
I am proud of finishing all of the functionalities I envisioned for this project successfully.
What I learned
How to work with fragments, how to work with recyclerview. How to communicate data between fragments (by cheating with cockroachDB). My teammates had always done this for me in my previous Hackathon so I now appreciate how fast they deployed it back then. It took me way to long to deploy the database.
What's next for Resonance!
-Improvements in UI: The UI is barebones right now. It looks like stock app from Android Studio -A bigger and better database. Only a few entries were stored and it was made locally.