Documentation

Creating a new database

First thing you want to do before installing BeMusic is to create a new database on your mysql server. If you already know how to do this/or have already created one just skip to the next step.

Your host will most likely be running phpMyAdmin as mysql manager, if that's the case here's a step by step guide (if not the proccess will be very similar on other managers).

Login to your control panel, find and click phpMyAdmin link: Click on the database tab in the top menu, enter any name you like and click create.

Uploading Files

After creating a database, unzpip the .zip file you donwloaded from CodeCanyon and upload the contents of BeMusic folder to your servers root folder (usually called www or html or something similar) or a sub-directory, shared hosting providers usually have a web based file manager, but you should use something like Filezilla to do the upload as the web based managers can cause various problems fairly often.

Make sure that application/storage and all the sub-folders are writable by your server (have 777 permissions if you are on shared hosting). You can change files and folders permissions by right-clicking them in the filemanager, clicking file permissions, and then entering 777 in the permissions field.

Installing BeMusic

After you uploaded BeMusic files, simply open up your site url and follow on-screen instructions to finish the installation.

Updating BeMusic to new versions

  • 1. Extract the .zip file you downloaded from CodeCanyon.
  • 2. Upload and overwrite all the files same way you did when you installed BeMusic.
  • 3. Visit http://yoursite.com/update url and click Update Now button.
  • 4. If you are using a custom stylesheet, open admin area > appearance page, select your stylesheet and click Save or Update button.

Changing or adding new data providers to BeMusic

By default only local provider is included with BeMusic, it allows you to use BeMusic as CMS (creating everything manually from admin area). If you want to fetch data (artists, albums, songs etc) automatically, you will need to download a data provider for a 3rd party site you want to use.

  • 1. Download a provider you want from HERE.
  • 2. Upload it into app/Application/Services/Providers folder.
  • 3. Select the provider you want to use from admin area > settings > providers page.

For example, let's say you want to use Spotify as a source for data on your site. Go HERE, download Spotify folder and paste it into app/Application/Services/Providers folder on your server. Then get your spotify keys (instructions HERE) and enter them into admin area > settings > 3rd party keys panel, select Spotify for all (or some) providers in admin area > settings > providers section.

You don't necessarily need to use one provider for everything, you can pick and choose. For example, you can use Spotify for artist information and local for top 50 songs, so you can fetch artist information automatically but create top 50 chart yourself from admin area.

Some providers might require you to register for an API Key. You can find instructions on how to acquire those keys in API Keys section of documentation.

Note that some providers might have restrictions on commercial usage of their APIs, you'll need to take a look into their Terms of Service and determine yourself if it's appropriate for you to use them!

API Keys

In order make some features of the BeMusic work you will need to register for a some API Keys. Check out the sections below for information on how to get them. Once you've got your keys simply enter them in corresponding fields in admin area -> third party services and keys.

Youtube API Key

This key is required in order to play music on BeMusic. You can use the same google app you have created for social login and google anlytics (refer to social login google section of the docs). Simply create a new api key from your google project page and enable youtube api from the same page. Note: leave refferers field empty. Then enter this key in admin area > settings > 3rd party keys > Youtube API Key.

Last.fm API Key

This key is optional. It's needed to enable last.fm genres provider. To get last.fm api key, register for an account here, once registered you'll be able to see your api key, simply enter it in admin area > settings > 3rd party keys > Last.fm API Key.

Spotify Key and Secret

To get these keys, login or register here, accept all the terms, then create a new application at this url (you can enter anything in name and description fields), then you will be able to see your keys, simply enter them in admin area > settings > 3rd party keys > Spotify ID and Spotify Secret fields.

SoundCloud API Key

This key is optional. It's only required if you will use soundcloud instead if youtube for streaming music. To get SoundClound api key, register for an account here, once you have created an activated your account you will need to create a new app here after creating your app, you'll be able to see your client ID and Secret, you will need to enter Client ID in admin area > settings > 3rd party keys > SoundCloud API Key.

Social Login

First, open application/.env file in the main BeMusic directory on your server and make sure your site base url is entered correctly there after BASE_URL=

In order make social login (logging in via google, twitter and facebook) work you will need to register for a corresponding app and get that services Client ID and Client Secret. Check out the section for each service for a detailed instruction for how to register and get those tokens. Once you've got your client id and secret simply enter them in corresponding field in admin area -> third party services and keys.

Facebook

You can resgister for a facebook app Here by clicking on My Apps > add a new app at the top. Once you create the app you can find your id and secret in your app dashboard, you will also need to enter your site url in Settings > site url field and make your app public from Staus & Review tab.

Twitter

You can register for a twitter app Here, after you register you will need to enter your site url in Website and Callback Url fields in your app settings, you can find your key and secret in the Keys & Access Tokens tab.

Google

You can register for a google app Here by clicking on Create new project, after creating new project go to credentials tab and in the authorized redirect uri field enter http://yoursiteurl.com/auth/social/google/login, you might also need to enable Google plus and contacts APIs.

Generating Sitemap

You can generate a sitemap either by visiting http://yoursite.com/generate-sitemap url (make sure you are logged in as admin) or clicking Generate Sitemap button in admin area > settings > general site settings panel.

Important things to note:

  • It might take anywhere from a few seconds to an hour to generate a full sitemap depending on your server and how much data you have in database.
  • Don't close the browser while sitemap generation is in progress otherwise it might get corrupted.
  • If you are receiving any errors or generation stops unexpectedly, it is most likely because of request time limit on your server, you will need to contact your hosting provider regarding that issue.
  • Sitemap files will be located in sitemaps folder in main BeMusic folder on your server, you will want to submit sitemap-index.xml file to google, or simply use http://yoursite.com/sitemap.xml url which will point to that file as well.

Mail

In order to make mail work (for password reset and other functions), you will need to register for mailgun/mandrill API key or enter your SMTP server details. Mandrill/Mailgun are the prefered options because they usually don't have problems that occur when using public smtp servers (like gmail or your hostings private one).

Mandrill

To register for mandrill key go to this url, create a new account and then log in. Then click get api keys -> +add api key

Then simply copy mandrill api key and enter it into corresponding field in admin area > settings > mail

Mailgun

Register here

In the next page click Add Your Domain button, then enter your site url in the Domain Name field and click Add Domain

Follow the instructions in the next page to update your DNS records (you can most likely find instructions on how to do it on your hosting/domain providers website.

SMTP

If you want to use SMTP instead, go to admin area > settings > mail and simply change mandrill to SMTP and enter your smtp server credentials.

Analytics

Registering for google analytics account

Analytics page is powered by google analytics so you will need to register for google analytics and add their supplied code to your site. Here's how to do it.

  • 1. Go to this url. You will be prompted to login to your google account or create a new one if you don't have it already. Do it.
  • 2. Click on Admin -> Property -> Create new Property -> fill out required fields -> click on get tracking ID
  • 3. Go to Admin area -> settings -> third party service keys and paste the code into google analytics tracking code field (only paste in the code that starts with UA, not the whole script).

Registering for google ID

You will also need to enter your google ID in the same page for analytics to work. It's the same ID as for google social login so refer to documenation on social login to see how to get that key. Only make sure that enable google analytics API from google developers console and enter your site url in javascript origins field.

Viewing analytics information

Once you have created analytics account and entered it in settings page, go to admin area -> analytics, click on Access google analytics button, then click accept

And you are done. You can now easily view analytics information right from the admin area. You can also select different analytics account, property and view from the bottom of the page.

Appearence

From appearence page you can modify how your site looks by changing colors, fonts, sizes and more. Simply change the value in the field you want and click save on the right. BeMusic will compile a custom css stylesheet (just as if it was written by a programmer!) without you needing to have any coding knowledge. Original stylesheet will be preserved so you can switch back at any time. You can also create multiple stylesheets(light, dark etc) and switch them at any time from panel on the left. You can also insert custom css, by typing it into custom css panel.

Note that variables and functions might sometimes be used in some of the appearence fields. These are very simple to understand. For example, by default main background color is lighten($main-color, 5%), this simply means that it will take the color value from $main-color field in appearence page (#19191b by default) and make that color 5% lighter.

Translations

You can translate BeMusic right from the admin area so there's no need to mess with configuration files or 3rd party applications. Simpley open translations page and enter your translation for a particular line under translation column in the table.

Note that while you can translate the original (englsish) locale, it is recommended to create a new one (frome the panel on the left) so you don't need to worry about overwriting it with future updates.

Users

From users page, you can get an overview of your site users, create a new one, delete existing ones and edit their profile information.

Settings

On the settings page you can change various options on your site from your homepage view to user registration. There's a description under each options so you shouldn't have any troubles figuring out which setting does what.

Support

If you have any problems or questions, please use the contact form here https://codecanyon.net/item/bemusic-music-streaming-engine/13616699 to send us a message instead of doing it in the comments, so we can resolive it as fast as possible, thanks!