You can use PHP, Javasript, HTML5, Yii Framework (I recommend) or any other platform.
-Main page sketch design: [login to view URL]
-Release page sketch design: [login to view URL] (Inspired from here: [login to view URL])
-Tracks page sketch design: [login to view URL] (Inspired from here: [login to view URL])
-Top 10 tracks widget idea: [login to view URL]
- Edit, delete tracks and releases
- Add, edit, delete users
- Registered user: the registered user can only navigate the site and pre-listen tracks. No download function
- Premium user: the premium user can navigate the site, pre-listen tracks and download.
User account info:
- See how much traffic has for download (premium user)
- See his username but no edit
- See his email but not edit
- See when his account expire (premium user)
Other functions: the site will be accessible only via username and password!
- Registered user: no limits, only listen tracks
- Premium user: the premium user will have limitations like: download quota, set expiration date, after expiration date it will become registered user. All of this must be done via Admin functions Add, edit, delete users.
- Sort by Releases (default) and sort by tracks – see the sketches above
- Filter by genres
- Filter by label
- Navigate without reloading
- The player must be always on the bottom of the page
- See the sketch of the player on the main page sketch on the buttom of the page
- Demo player (just for ideas): [login to view URL]
This is the most important part, I have in mind uploading via ftp. For example I have 200 folders, each folder is a album so it would be easier to manage.
This will work like this: the script will process each folder in this order: extract from the idtag image, artists, release name, label, genre – create a new entry album with that information - after that the originals mp3s files will be for download. Each mp3 file must be converted at 128kbps which will be user for pre-listen and also generate a waveform which will be used by the player. On the album (release) page you can download track by track or if users choose Download All then a .zip file will be created on fly.