Share your music with the worldWith this app you can create a community of musicians and creatives, authors can upload their songs or podcasts for other members to listen.
You can see this app running using the following users. You can also signup with a new account. Some features are disabled in the demo, such as updating configurations to prevent people from abusing the system.
admin user: firstname.lastname@example.org
The backend is built on top of Laravel using a REST API to send and receive data. This will allow you to easily create another client such as a native app to access the platform.
The current client is built in ReactJS, an SPA (Single Page Application). All the code for the frontend is split in several files that are loaded on demand when the user loads a page.
There are not so many dependencies on the JS bundle, this is intentional to keep the bundle as small as possible. To build the client app you will need node and npm installed in your system. For your convenience I have included a build into the project, but you might want to create your own build with your custom configurations. Everything is well documented.
Features for members
- Can discover trending songs, popular and latest uploads.
- Can explore songs by genre, tags, vocals, instruments, BPM , moods and artists.
- Can play published songs
- Can create public/private playlists and add songs to any of them.
- Can like/unlike a song
- Access to history of plays
- A profile page with the public activity feed
- Can play all songs in a playlist or favorites
- Users can contact authors and other users through a messaging system
- Users can follow other users
- Search songs, albums and artist
Features for authors
- Can create albums
- Add songs to an existing album
- Can publish singles
- Can create a podcast channel and publish individual episodes
- Can publish content to the blog
- In profile page there’s a tab for the published songs
Features for admins
- Can edit/remove users
- Can edit/remove albums and songs for any author
- Can edit/remove singles for any author
- Can edit/remove podcasts and episodes for any author
- Can manage comments on the site
- Can add/remove new genres
- Can add posts to the blog and edit content from other authors
- Can configure the name of the app, google analytics, language and logo
- Can set permissions for authors and members
- Can disable new signups and make the community private
- Can require visitors to login in order to play songs
- Can make new users to become authors automatically or manually
- Can access a dashboard with a map to see where people is listening from
DocumentationEvery step is well documented, you can take a look at the current documentation in the following link:
There’s a section about common errors, in case you run into any of these. You can also reach out in the comments and I will respond as soon as possible.
System requirementsIn order to install this app, you will need ssh support in your server. This is not required, but it will be way easier to install all dependencies using composer. If your hosting provider doesn’t give you ssh support, I’d recommend you to use Digital Ocean! For $5 a month you can have a server up and running in minutes.
- PHP >= 7.2.0
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
v2.1.1 - July 19, 2020 - Added validation to check maximum upload size - Fixed not breaking UI issue on discover page v2.1.0 - July 10, 2020 - Authors can publish singles - Authors can create a podcast and publish episodes - Admin can customize main menu and add custom links and labels v2.0.1 - July 8, 2020 - Fixing issue when saving configurations with shared hosting enviroments - Fixing issue while uploading songs in certain browser v2.0.0 - May 21, 2020 - Frontend migrated to ReactJS - Drag and Drop songs to upload files easily - Reading metadata from mp3 files to pre-fill the song form - Public and Private playlists - i18n support with English and Spanish at the moment - Theming support with two themes defined and a theme editor for customizations - Dashboard a map to show where people are listening from - Configuration module to update the theme's colors - Several bug fixes v1.2.2 - August 22, 2018 - Dashboard with charts for plays, likes and downloads - Configuration module to update the theme's colors - Minor bug fixes v1.2.1 - August 6, 2018 - Filter artist by country and gender - Adding legal pages for admin to add content - Updating build dependencies for latest versions - Minor bug fixes v1.2.0 - July 12, 2018 - Social system to follow other users activity - Download song files - Configuration module for admin - Google Analytics integration - Bug fixes v1.1.1 - May 21, 2018 - Minor bug fixes v1.1.0 - May 8, 2018 - Messaging system - Installer to easily setup the app in your server - Basic search engine for songs, albums and artists - Sharing to social networks - Bug fixes v1.0.0 - First release (April 4, 2018)