Skip to content

piotrpdev/MelodyShare

Repository files navigation

MelodyShare

An Android app for sharing melodies with friends!

CA submission for SETU's Mobile Application Development module.

App demo

Features

  • 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.

Setup

Firebase

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.

Google Cloud Functions

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}

Contributing

  • Linting: run the ktlintFormat Gradle task.
  • Documentation: run the dokkaHtml Gradle task.
    • Dokka output will be generated to: app/build/dokka/html/
  • 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/

Wireframes

Here are some of the original wireframes/sketches of the design for the app.

App Sequencer
app_wireframe.png melody-sequencer-sketch.jpg

License

The code in this repository is licensed under the MIT License, see LICENSE.md for more details.

About

Android app for sharing melodies with friends!

Topics

Resources

License

Stars

Watchers

Forks