vdevos / fusic

Fusic: Social Music Collaboration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fusic

Fusic should be a social music network that enables you to collaborate your favorite music with your friends and discover new music from everyone else!

These items below should be the main features of Fusic version 1.0

  • Listen to your favorite songs
  • Create your own playlists and follow those of others
  • Let friends collaborate in your playlist by making them editors
  • Love and share your favorite songs and playlists
  • Keep track of your friends and their music activity
  • Follow new playlists and discover new music from other other users

For a more detailed description see Functionality below.

Information

Kohana

Fusic is build using the Kohana 3.2 PHP Framework - Read the Documentation

GIT

If you want to contribute, please read this page on How To Fork A Repo

Database

Never use the live database, but setup your own database instead!

  1. Create the initial database structure using setup.sql
  2. Adjust the database config file $FUSIC_ROOT/modules/database/config/database.php

Add a new else if statement with your domain fusic.website.nl bijvoorbeeld.

else if(isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'fusic.website.nl')
{
    return array
    (
        'default' => array
        (
            'type'       => 'mysql',
            'connection' => array(
                 'hostname'   => 'localhost',
                 'database'   => 'your_db_name',
                 'username'   => 'your_db_username',
                 'password'   => 'your_db_user_password',
                 'persistent' => FALSE,
            ),
            'table_prefix' => '',
            'charset'      => 'utf8',
            'caching'      => FALSE,
            'profiling'    => TRUE,
        ),
    );
}

Functionality

Each of the following sub-headers describes a view and it's corresponding features. These are features for users that have a account and are logged in. Feautures for users without a account have yet to be specified.

1. Explore - /explore/

The purpose of this view is discovering new music:

Timeline Twitter style - list of song entries derived from:

  • New songs in playlists that are being followed
  • Loved song from friends

Trending Twitter style - small list of song entries (daily, weekly, monthly etc.) with:

  • Most loved songs
  • Most played songs
  • Most added songs

2. Playlists overview - /playlists/

This view shows an overview of playlists that a user owns and follows. This view displays the following information for each playlist.

Owned -

  • Info title, creation date, tags, description and (optional) image
  • Lock Public (for friends and other) or Private (only yourself)
  • Stats total songs, play duration, total plays, followers and loves
  • Actions
    • Update: title, tags, description, image, lock
    • Remove playlist

Following

  • Info title, creation date, tags, description and (optional) image
  • Follow Following or not following
  • Privilege Viewer or Editor
  • Stats total songs, play duration, total plays, followers and loves
  • Actions
    • Follow or unfollow playlist

3. Playlist - /playlist/show/<id>

This view shows the contents of a playlist and embeds the Fusic Player for playing the actual music

FusicPlayer

  • Play/Pause
  • Next/Previous
  • Shuffle & Loop

Info about playlist

  • Title
  • Cover
  • Owner
  • Created

Songs in playlist

  • Title + Url
  • Duration
  • Added by user
  • Added on date
  • Active listeners
  • Actions
    • Add song
    • Remove song
    • Love song

Followers in playlist

  • Username
  • Active song
  • Privilege: Viewer/Editor

Stats from playlist

  • Total songs
  • Total duration
  • Total plays
  • Total followers
  • Total loved songs
  • History of songs played
    • song
    • user
    • date

4. Loved songs - /loved/

The is a playlist view with a list of a users loved songs (see: Playlist)

5. Friends - /friends/

This view displays all a users friends and some information about them.

Information for each friend

  • Username
  • Cover
  • Total owning playlists
  • Total following playlists
  • Total friends

6. Profile - /user/<username>

A view of a users profile

  • User information
  • Friend or not
  • List of owning playlists
  • List of following playlists
  • List of friends

About

Fusic: Social Music Collaboration

License:Other


Languages

Language:PHP 74.7%Language:JavaScript 19.9%Language:CSS 5.4%Language:R 0.0%