Skip to content

A music player app created with React Native and NativeBase

Notifications You must be signed in to change notification settings

LiviuCocianu/soundure

Repository files navigation

Soundure

Soundure is a music player app for offline music playback. General features, such as playlist creation/management, a music player interface and track management are all present, but I've also added a quality-of-life feature that I personally felt the need of while listening to music on existing apps: dynamic volume.

Dynamic volume automatically adjusts the volume of the currently playing track, depending on surrounding noise. I was inspired to implement this feature one day while I was listening to music in a noisy train


Acknowledgements

Even though this app was developed with React Native, I've only tested it on Android

Features

  • Playlist creation
  • Track upload from devide and external
  • Track and playlist editing
  • Different kinds of playlist shuffling
  • Dynamic volume adjusting
  • Daily inspirational quotes in the home screen (used API)

Building

  1. Clone the project with git clone https://github.com/LiviuCocianu/soundure.git
  2. Open a terminal of your choice and navigate to the cloned directory
  3. Install the required packages with npm i

You will need an Expo account before proceeding to the next steps, you can make one for free

  1. Install the Expo Application Services (EAS) client with npm install -g eas-cli
  2. Log into the Expo account you just made with eas login
  3. Build the APK file with eas build --platform android --profile production. You will be put in a waiting queue, since Expo gives priority to paying users, then the app will be built on their servers. A link to the build progress and download section will be generated for you in the terminal! As of the date this README was written at, Expo gives 30 Android builds/month to non-paying users

Download prebuilt APK

If you don't want to follow the lengthy steps above to build your own APK, or if they don't work anymore, you can try this demo I've compiled

(Download from Google Drive)

(Download from MediaFire)