Skip to content
/ polify Public

A cross platform S3 buckets music streaming app 🪣 🎶 📡

License

Notifications You must be signed in to change notification settings

BillotP/polify

Repository files navigation

Polify V2

ci wakatime

A cross-platform S3 based streaming music player for Android and Linux

🚀 App Features

  • Add bucket access credentials at build time in .env file

  • Add bucket access credentials at runtime with dedicated form

  • List Buckets

  • List Bucket Objects

  • Save Songs metadatas to sqlite app embedded db

  • Save Albums metadatas to sqlite app embedded db

  • Save Artists metadatas to sqlite app embedded db

  • Play Songs, Albums or Artists on tap

  • Play Now with Random songs

  • Save songs to playlist

🔨 Development

  • Clone this repository on your linux based os with an up-to-date flutter sdk installed.

  • Install dart dependencies with flutter pub get

  • Create a .env file at the root of this repo with the following format :

S3_ENDPOINT=your.s3.endpoint
ACCESS_KEY=youracceskey
SECRET_KEY=yoursecretkey
  • Run dart run build_runner build -d to generate database and dotenv helpers class.

  • Connect your Android phone with AndroidDebugBridge activated* then run flutter run -d android

  • Or flutter run -d linux to start the Linux Desktop App

  • Enjoy !

*Optional, only for Android version

Build

  • Install flutter_distributor with dart pub global activate flutter_distributor

  • Run make

📖 Documentation

Database

See database.md document.

Prerequisites

Buckets music folder should be scaffolded like :

Bucket

-- MusicFolder/

---- Artist 1/

------ Album 1/

-------- Song 1

-------- Song 2

-------- .....