The COVID-19 quarantine gave us the opportunity to make this application. We wanted a way to try out activities you might like and challenge yourself against friends.
How we built it
This is a Flutter mobile application. It makes use of Google Firebase:
- Firebase Authentication to track users
- Firebase Realtime Database to store user data and challenges for the app
- Firebase Hosting for hosting images to show in the app
- Firebase Cloud Messaging to send push notifications to users every day to remind them there is a new challenge
We also made use of the Domain.com free domain offer and Firebase Custom Domain so we can get the images from the Hosting to show in the app with a more friendly domain name.
Challenges we ran into
We found it a bit hard to learn how to use Firebase properly and efficiently, especially integrating Firebase with Flutter using the pub packages.
We also wanted to use Mongo Atlas but had troubles with the Flutter unofficial package for it so had to switch later.
Accomplishments that I'm proud of
The design of the application. Learning how to use Firebase properly.
What I learned
How to use Firebase to manage the backend of the application.
What's next for Challenge Shuffle
Users would be able to submit their own challenges, as well as challenging their friends. A leaderboard could also be implemented.