An Android app for sharing melodies with friends!
CA submission for SETU's Mobile Application Development module.
- Responsive Material Design 3 UI with dark mode support.
- Create, search, edit, and remove playable melodies with validation and filtering.
- Store melodies both locally and in the cloud with offline access thanks to Firebase.
- Get notified when a user shares a melody with you thanks to Firebase Cloud Messaging.
- English and Polish language support.
Note
Remember to generate and add the SHA to your Android app settings in Firebase,e.g.:
./gradlew signingReport
This app uses Firebase so you need to set-up a project and place the generated google-services.json
into the app/
directory.
This project contains some Google Cloud Functions you need to setup in google_cloud_functions/
:
-
addUserToDB
- Environment: 1st gen
- Trigger: Firebase Authentication - create
-
sendFCM
- Environment: 1st gen
- Trigger: Cloud Firestore - create -
shares/{shareId}
- Linting: run the
ktlintFormat
Gradle task. - Documentation: run the
dokkaHtml
Gradle task.- Dokka output will be generated to:
app/build/dokka/html/
- Dokka output will be generated to:
- Testing: run the
test
Gradle task. - Test Coverage: run the
connectedCheck
Gradle task.- Jacoco report will be generated to:
app/build/reports/androidTests/connected/debug/
- Jacoco report will be generated to:
Here are some of the original wireframes/sketches of the design for the app.
App | Sequencer |
---|---|
The code in this repository is licensed under the MIT License, see LICENSE.md for more details.