- Create / update an account
- Log in / Log out
- Follow users
- Songs
- Upload songs
- Play songs
- Tag songs
- Comment on songs
- Like songs
- Create playlists
- View feed from followed users
- Search for users and songs
Implement user sign up and authentication. Create a simple landing page that will hold the container for the root React component.
Set up the Flux framework and React component hierarchy. Create React components for user sign up, and user sign in. Create followers
and followed
associations for users.
Develop JSON API for Tracks. Tracks should be commentable, taggable, and likable. This will involve creating the following models: comments
, likings
, taggings
. Tracks will get their own React components called TrackIndex
and TrackItem
.
Create API for Playlists which will require a playlist
and playlistings
model. It will also require a React Playlist
component which will show TrackItem
s
Create a feed on the dashboard page.
Create a component SearchIndex
that allows users to search for users, songs, and tags.
Style all views with a consistent theme
- Explore feed
- Trending Artists / Songs
- Continuous playback
- Album art
- Avatars
- Waveform visualizer / Use WaveSurferJS
- Facebook Auth
- Track collections / albums
- Public and private tracks
- Download songs
- Use SendGrid as mailserver