TODO:
-
handle rate limiting for requests -
logging all activity -
handling errors gracefully
-
configure sensitive info as environment variables & exclude from git -
prettify song comparison response JSON
-
show added_at fields for both users
-
move array into an object
-
add fields for both user names
-
-
analyze playlists
-
analyze albums
-
analyze artistsget genres of all artists
-
analyze trends over time
-
analyze TOP (not ALL) tracks/artists - /top endpointcommon TOP track/artists
-
add suggestions - get songs by artists common to both users that only one user has saved
-
caching - add an intermediate caching layer so that we don't always SPAM spotify with requests -
add tests
-
search functions
-
clean up & parallelize go code
-
sort common artists by # of songs in common -
mood analysis - analyze % of library is happy vs sad, fast tempo vs slow, hard vs soft, etc.
-
bpm distribution
Deploying:
- Build the backend golang binary
go build
- Build the react frontend
cd frontend && npm run build
- Commit the changes
- Push to github, and merge to master
- Go to heroku, and deploy