Flutter Rhythm - Play instruments
Rhythm-based mobile game. Even you don't have any basic knowledge of music instruments, you still can play with falling notes in the game!
Currently available on the Play store.
Main Features
- Hundreds of songs, from classics of Beethoven, Chopin, Mozart, or Schubert, folk songs to POP/EDM. Will be updated continuously
- Adjustable difficulty level
- Adjustable tempo
- Many game modes
- Many musical instruments
- Play offline without the internet
- Upload your song and play your way
Project Structure
This is a Flutter mobile game targeting Android and iOS.
The code for the Flutter app is contained in the folder lib
and the
different native apps are in android
and ios
.
Extra project assets are in assets
.
Firebase config files and cloud functions are in the functions
folder.
Prerequisites & Getting Started
Client
To build and run the mobile apps you’ll need to install Flutter and its dependencies. To verify your installation run in the project’s root directory:
$ flutter doctor
Backend (Firebase)
B1. Setup sign-in method
An initial sign-in method needs to be configured.
- Select your project in console.firebase.google.com.
- Navigate to
Authentication
- Select
Sign-in methods
and activateGoogle
,Facebook
andAnonymous
.
B2. Configure firebase app
Next, you’ll need to configure your firebase app for Flutter as described in Add Firebase to an App / Flutter
Android
Follow the instructions in android/README.md
.
B3. Deploy functions and synchronize storage
Install Google Cloud SDK and run:
$ ./synchronize_backend.sh projectId
B4. Synchronize database
Install https://github.com/jloosli/node-firestore-import-export, get service account json file https://firebase.google.com/docs/admin/setup#initialize-sdk, navigate to the database
directory, backup/restore database using:
$ export GOOGLE_APPLICATION_CREDENTIALS="service-account.json"; ./backup-firestore.sh
$ export GOOGLE_APPLICATION_CREDENTIALS="service-account.json"; ./restore-firestore.sh