MediaPlayerApp

This is the app that I and my friends developed in 2 months based on Spotify. We built this app all by ourselves and only took inspiration from the Spotify interface.

Installation

  1. Clone this repository and import into Android Studio:
git clone git@github.com:Megakawa/MediaPlayerApp.git
  1. Connect your phone (Emulator is fine) (Android only)
  2. Enjoy

Configuration

Generate apk release build

Follow instruction from here

  1. Generate a keystore
keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000
  1. Adding Keystore to your project
mv my-release-key.keystore /android/app
  1. Change android/app/build.gradle
android {
....
    signingConfigs {
        release {
        storeFile file('your_key_name.keystore')
        storePassword 'your_key_store_password'
        keyAlias 'your_key_alias'
        keyPassword 'your_key_file_alias_password'
        }
    }
    buildTypes {
        release {
        ....
        signingConfig signingConfigs.release
        }
    }
}
  1. Release APK Generation
cd android
./gradlew assembleRelease

Enable Firebase support

  1. Add firebase to your android app
  2. Create a Firebase Cloud Firestore database
  3. Create a default Firebase Cloud Storage bucket
  4. Create a Firebase Realtime Database

NOTE

Edit FIREBASE_DATABASE_URL in src/constants/index.ts to match your Firebase Realtime Database as noted in here

The offline feature is required you to create a folder for each music songs and named it exactly like the song's name. Then puts it to your local \Music folder.

Generating signed APK

From Android Studio:

  1. Build menu
  2. Generate Signed APK...
  3. Fill in the keystore information (you only need to do this once manually and then let Android Studio remember it)

Maintainers

This project is mantained by:

Demo

  1. App login screen:

  2. App SignUp screen:

  3. Choose Mode screen:

  4. OnlineFeature Screen:

  5. OnlineFeature ListSong Screen:

  6. OnlineFeature PlaySong Screen:

  7. OfflineFeature screen:

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Run the linter (ruby lint.rb').
  5. Push your branch (git push origin my-new-feature)
  6. Create a new Pull Request