Pocket: a music streaming service
Pocket: a music streaming service

Pocket: a music streaming service

Project type
UI Design
Front-end
large-scale
React
Redux
(NOTE: API key expired, this doesnโ€™t work anymore ๐Ÿฅฒ)

intro

Itโ€™s been ages since Iโ€™ve worked on a personal project from start to finish.
I had been on a hiatus - taking a break from work and coding in general so I could prepare for the graduate school applications ๐Ÿ™‚ย 
The obvious inactivity seen on my github profile:
notion image
ย 
Credit: This project has been inspired by a course done by JavaScript Mastery on YouTube!

introducing Pocket

(logo stolen from glitch.com)
notion image
ย 
notion image

Tech stack used

react.js (next.js)
redux
vite
tailwind
shazam core api

Folder structure:

. โ”œโ”€โ”€ LICENSE โ”œโ”€โ”€ README.md โ”œโ”€โ”€ index.html โ”œโ”€โ”€ package-lock.json โ”œโ”€โ”€ package.json โ”œโ”€โ”€ postcss.config.js โ”œโ”€โ”€ src โ”‚ย ย  โ”œโ”€โ”€ App.jsx โ”‚ย ย  โ”œโ”€โ”€ assets โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ constants.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ favicon.ico โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ index.js โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ loader.svg โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ logo.svg โ”‚ย ย  โ”œโ”€โ”€ components โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ArtistCard.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ DetailsHeader.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Error.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Loader.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ MusicPlayer โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Controls.jsx โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Player.jsx โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Seekbar.jsx โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Track.jsx โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ VolumeBar.jsx โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ PlayPause.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ RelatedSongs.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Searchbar.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Sidebar.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ SongBar.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ SongCard.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ TopPlay.jsx โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.js โ”‚ย ย  โ”œโ”€โ”€ index.css โ”‚ย ย  โ”œโ”€โ”€ index.jsx โ”‚ย ย  โ”œโ”€โ”€ pages โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ AroundYou.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Discover.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ MyFaves.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Search.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ SongDetails.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ TopArtists.jsx โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ TopCharts.jsx โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ index.js โ”‚ย ย  โ””โ”€โ”€ redux โ”‚ย ย  โ”œโ”€โ”€ features โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ playerSlice.js โ”‚ย ย  โ”œโ”€โ”€ services โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ shazamCore.js โ”‚ย ย  โ””โ”€โ”€ store.js โ”œโ”€โ”€ tailwind.config.js โ””โ”€โ”€ vite.config.js

functionality

ย 
notion image
ย 

Music player

notion image

Discover page โ€” genre-wise

notion image

Search by song title/artist name

notion image

Song detail page โ€” with lyrics

notion image

Similar songs (algorithm by shazam core)

notion image

future

  • User Authentication - creating accounts
  • Multiple playlist creation
  • Artist details