Skip to content

liuffy/Tracktive

Repository files navigation

Tracktive

Tracktive Live

Effortless playlists. 🎵

Tracktive is a single-page, full-stack web application inspired by 8tracks, created with the goal of designing a lightweight clone of the original playlist creation website. It is built on a Ruby on Rails backend, a PostgreSQL database, and a React.js with Redux architectural framework on the frontend. It uses endpoints from Spotify's API to build shuffled playlists that are saved into the database.

Features & Implementation

Account Creation & Authentification

login_modal

Users gain access to the app and their playlists by entering their credentials on the login/ sign-up modal (located on the Splash page), and Bcrypt is used to store a secure hash of the user's password.

Dashboard

dashboard Upon successfully logging in, users will be able to browse and explore all playlists that have been saved in the database. Masonry (a React.js component) moves playlist objects to move around to fit the window if it is resized.

Easy Playlist Creation

tracktlist_form Users create playlists via a modal in which they complete three fields:

  • The names of artists they want included in the playlist (they can enter an unlimited amount of artists)
  • The name of the mix
  • An image url for the mix's "cover"

After submitting the form, the user will be redirected to their profile, which will now contain the newly created playlist.

User Profile

user_profile Users will have access to playlists that they have liked or created on their user page. They can also visit other creators' pages (every playlist page includes a link to the user who created it).

Dynamic Playlist Searching

search_gif

As the user types into the search bar at the top of the page, the playlists rendered is narrowed dynamically to only include items that include the artist(s) entered by the user. If no playlists include the artist(s) entered by the user, a message containing a link to the playlist creation form is rendered.

Responsive Design

response_design

Media queries are used so that the content can adapt to the size of the screen it is presented on. If the viewport decreases enough that the navigation bar cannot fit, the links in the navigation bar convert to a hamburger button/ dropdown menu, the content of the bar is reformatted to take up less horizontal space.

Upcoming Features

There are many features that will be added to further enhance the functionality of the app and the user's experience.

Completion of the Liking functionality

While the backend for Likes has created, the front-end is currently still in the works due to time restrictions.

Sharing functionality

In the future, users should be able to share their playlists to other platforms such as Facebook or Twitter directly within the app.

About

Lightweight clone of 8tracks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors