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