Skip to content

Commit e175485

Browse files
authored
Merge pull request #78 from Raghart/updateReadMe
Updating ReadME to talk about new features
2 parents 2f2bdbf + 92a9936 commit e175485

16 files changed

Lines changed: 28 additions & 11 deletions

README.md

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 🎵 TrackStack
22

3-
Do you want to find a new **banger**? Try out this **music recommendation web app** that uses an algorithm based on **song metadata** (genre, energy, danceability, and more) to recommend **tracks** based on the parameters you choose. Discover new tracks from a database of over **50,000 tracks**!
3+
Do you want to find a new **banger**? Try out this **music recommendation web app** that uses vectors based on **song metadata** (genre, energy, danceability, and more) enhanced by a weighted system to recommend **tracks** based on the weights you assign to each feature. Discover new tracks from a database of over **50,000 tracks**!
44

55
Check out the live version in Render:
66

@@ -46,7 +46,7 @@ I built this project for two main reasons:
4646

4747
## 📖 Usage
4848

49-
### Track new songs based on your preferences
49+
### * Track new *songs* based on your preferences
5050

5151
Want to find a new banger?
5252

@@ -64,15 +64,15 @@ In a few seconds you'll be redirected to a page showing the tracks that match yo
6464
<img src="./assets/RecommendationResults.png" alt="Lara's Recommendation Results" />
6565
</p>
6666

67-
### Track a song, an artist or an album
67+
### * Track a *song*, an *artist* or an *album*
6868

6969
To search for a specific song, artist, or album, use the search bar in the top navbar and type what you are looking for. The system will load several results that try to match your query. The search is powered by ElasticSearch and its fuzzy search capabilities, using features like **fuzzy search**, **n-grams**, and **edge-ngrams** to increase recall and tolerate typos. Search across more than **28,000** results available to find the specific song you are looking for, as shown in the image below:
7070

7171
<p align="center">
7272
<img src="./assets/songSearch.png" alt="Intelligent Song Search" />
7373
</p>
7474

75-
### Check out the tracks
75+
### * Check out the *tracks*
7676

7777
What's a good recommendation system if you can't **listen** to the tracks it suggests?
7878

@@ -82,10 +82,10 @@ What's a good recommendation system if you can't **listen** to the tracks it sug
8282
A **30-second song-preview** will be played automatically. At the bottom of the page, you can see more information about the currently playing track, such as its elapsed time and artists. The player also includes extra controls, like a button to play a random song, buttons to play the previous and next tracks by ID, and a slider to control the volume:
8383

8484
<p align="center">
85-
<img src="./assets/play_song.png" alt="Click the play button" />
85+
<img src="./assets/playSong.png" alt="Click the play button" />
8686
</p>
8787

88-
### Learn more about a track
88+
### * Learn more about a *track*
8989

9090
Want to know more about a specific track that caught your eye?
9191

@@ -94,10 +94,10 @@ Want to know more about a specific track that caught your eye?
9494
You'll be redirected to a page that shows additional information about the track, including its genres, duration, release date, album, and even a link to Spotify if you want to hear the full version:
9595

9696
<p align="center">
97-
<img src="./assets/song_details.png" alt="Track Details" />
97+
<img src="./assets/songDetails.png" alt="Track Details" />
9898
</p>
9999

100-
### Discover songs by artists
100+
### * Discover songs by *artists*
101101

102102
Do you want to discover new artists?
103103

@@ -111,10 +111,10 @@ You'll be redirected to a page where you can listen to their songs:
111111
</p>
112112

113113
<p align="center">
114-
<img src="./assets/artist_page.png" alt="Music Artists Songs" />
114+
<img src="./assets/artistPage.png" alt="Music Artists Songs" />
115115
</p>
116116

117-
### Discover songs by genre
117+
### * Discover songs by *genre*
118118

119119
Explore over **100 genres** and find your next favorite song based on your tastes.
120120

@@ -125,6 +125,23 @@ Explore over **100 genres** and find your next favorite song based on your taste
125125
<img src="./assets/Genres.png" alt="Music Genres Options" />
126126
</p>
127127

128+
### * Discover songs by *albums*
129+
130+
Do you want to hear more song from an album?
131+
132+
1. Click the **Albums** section in the left sidebar.
133+
2. Click on the image of any album that catches your attention.
134+
135+
You'll be redirected to a page where you can listen to their songs:
136+
137+
<p align="center">
138+
<img src="./assets/albums.png" alt="Music album page"/>
139+
</p>
140+
141+
<p align="center">
142+
<img src="./assets/albumSongs.png" alt="Songs from an album" />
143+
</p>
144+
128145
---
129146

130147
## 🖥️ Frontend Technologies
@@ -147,7 +164,7 @@ Explore over **100 genres** and find your next favorite song based on your taste
147164

148165
- **Sequelize**: An Object-Relational Mapping (ORM) for managing relational data models and interacting with the PostgreSQL database in a structured way. It retrieves dozens of songs, artists and albums in seconds, and by using a randomly generated seed in queries, delivers semi-random results that keep the experience fresh, letting users discover a new song or artist every time they visit.
149166

150-
- **PostgreSQL**: Primary Database, storing over **300k records** with high reliability and performance.
167+
- **PostgreSQL**: Primary Database, storing over **300k records** with high reliability and performance. In addition with the PostgreSQL vectors extension to store a vector for each song stored in the database.
151168

152169
- **ElasticSearch**: High-performance search engine used to execute complex queries, with over **30k indexed documents** for lightning-fast retrieval. Designed to be flexible, being able to return the exact song, artist or album that you're looking for, or provide approximate matches by doing a **fuzzy search**, **n-grams**, and **edge-ngrams**, offering users a fast and modern search experience.
153170

assets/Genres.png

2.71 KB
Loading

assets/Modal.png

-33.2 KB
Loading

assets/RecommendationResults.png

-61.2 KB
Loading

assets/TrackStack.png

-45.2 KB
Loading

assets/albumSongs.png

623 KB
Loading

assets/albums.png

1.07 MB
Loading

assets/artistPage.png

660 KB
Loading

assets/artist_page.png

-650 KB
Binary file not shown.

assets/artists.png

93.5 KB
Loading

0 commit comments

Comments
 (0)