SnapHunt is a scavenger hunt game where a player can invite other players on a real world scavenger hunt while using the app as the item identifier by taking a picture of it. Using machine learning technology, the app identifies and scores the player according. Users can play solo or with a group. First player to complete the scavenger hunt or the player the the highest score after countdown ends wins.
A Flutter PH Hackathon 2019 Entry!
-
Single player Scavenger hunt
-
Multiplayer Scavenger hunt
-
Login via Google Authentication
-
Offline Machine learning using ML Kit
-
Multiplayer games using Firestore
-
Join room via QR code
-
Real time score updates in-game
-
Pre defined words using Hive
-
Update words via Firestore console
-
Share results with your friends
You may install SnapHunt via PlayStore, installing the apk from the release section, or build the app yourself.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Download either Android Studio or Visual Studio Code, with their respective Flutter editor plugins. For more information about Flutter installation procedure, check the official install guide.
- Clone the repository with the 'clone' command, or just download the zip.
$ git clone https://github.com/snap-hunt/snaphunt.git
-
Install dependencies from pubspec.yaml by running
flutter packages get
from the project root (see using packages documentation for details and how to do this in the editor). -
Follow Option 1 instructions here up to Step 3. Be sure to configure your SHA-1 or SHA-256 hash in the Firebase Project Settings for your app.
-
Place the downloaded 'google-services.json' file from Step 1 above in your projects /android/app/ directory.
-
Go to the Firebase Console and then to the Authentication section and then on to the "Sign-in method" tab an enable Email/Password and Google Sign in methods.
-
Configure Firestore in your Firebase console
-
Add
words
collection withwords
document side. -
Inside the
words
document, addversion
with int value 1. Andwords
array with the words the app with be using. -
Build the app!
- Flutter - <3
- Firestore - Realtime Database
- Firebase Auth - Google Authentication
- ML Kit - Machine learning
- Hive - Local data persistence
Contributions are welcome! Submit an issue for discussion and a PR for the code.
Note: Code is dirty and rushed. This was made in our free time in the short duration of the hackathon. Don't judge us too harshly :D
- Justin Enerio
- Edbert Estevez
- Dale Moncayo
- King Montayre
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
- Flutter PH for hosting this hackathon