Kevin Mok
df62fc21ee
Copied Chris' code to get genre graph working
6 years ago
Kevin Mok
d15717490d
Export ISO timestamp for history ( #57 )
6 years ago
Kevin Mok
fa2c5f7008
Export listening history to csv ( #57 )
Still need to convert timestamps to more CPU-readable format and figure
out what to do about reading headers for importing.
6 years ago
Kevin Mok
3d6dff359d
Store user id/secret in session upon login ( #61 )
History table uses session's user_id instead of secret in URL.
6 years ago
Kevin Mok
77141849ac
Move non-request functions in login/views to utils
6 years ago
Kevin Mok
b2990b45ee
Filter out unnecessary columns in history table
6 years ago
Kevin Mok
4b19c932b0
Split Track column into name and artists
6 years ago
Kevin Mok
2912977992
Setup django_tables2 for user history table
6 years ago
Kevin Mok
b4ffddb24d
Setup new page for user history
6 years ago
Kevin Mok
a399960a49
Only get history after latest stored one
6 years ago
Kevin Mok
d06e5912cc
Create History relation and add entries
Logs User, time and Track.
6 years ago
Kevin Mok
2644a3aeb2
Parse listening history and add Track objects
6 years ago
Kevin Mok
344fb2760e
Merge branch 'master' of https://github.com/Kevin-Mok/spotify-lib-vis into apps
7 years ago
Kevin Mok
23126ba823
Merge branch 'apps' into loading-page
7 years ago
Kevin Mok
a36ce3be88
Site is as functional as before ( resolves #47 )
Finished setting up graphs app and getting data from API app. Only issue
now is this branch is behind a few commits from other branches.
7 years ago
Kevin Mok
c949ecd3cc
Setup API app, can scan library ( #47 )
Manually merged console logging from loading-page branch.
7 years ago
Kevin Mok
e50d3d8476
Login app working ( #47 )
Can login and create User object. Also now store user token info in db
(closes #48 ).
7 years ago
Kevin Mok
8b1344d453
Split spotifyvis code into different apps ( #47 )
Server is able to start, but none of the apps are linked together yet.
7 years ago
Kevin Mok
4811e1b623
Merge pull request #46 from chrisshyi/artists
Finish setting up artist bubble chart
7 years ago
Chris Shyi
f624414701
Refactor audio features graph code
Closes #44 . Audio features graph code is now in an external .js file.
Also closes #45 .
7 years ago
Chris Shyi
8851c5ce25
Set up artist bubble chart
Major changes:
- Set up preliminary artist bubble chart, font too small
- Wrote shell script for resetting database
7 years ago
Kevin Mok
3bcd7576cf
Improved items processed count for logging
Now keeps track of number of items processed across function calls.
7 years ago
Kevin Mok
22ea472889
Store user's total songs
Also fixed "lag" to access admin charts page.
7 years ago
Kevin Mok
8faf229df9
Added global var to toggle console logging
7 years ago
Kevin Mok
a0a1b86164
Implement getting user's entire library
By passing 0 as num_tracks to parse_library.
7 years ago
Kevin Mok
5756642521
Added complete console logging for parsing library
Specifically, when making API calls for genres/features and updating
genres for tracks in db.
7 years ago
Chris Shyi
f8bf751920
Change URL pattern for retrieving audio feature data
Added 'api' as a prefix to make the URL consistent with the genre data
retrieval URL.
7 years ago
Chris Shyi
3af1ce852e
Merge pull request #42 from Kevin-Mok/database
Merge database into master
7 years ago
Kevin Mok
2b98398b6c
Fixed bug in get_artists_in_genre
Artist would show up in "undefined" genre even when they don't have that
genre. Likely due to changing genre to be a model so updated code to
adjust to that.
7 years ago
Kevin Mok
3aa49cc4e1
Resolves #35
7 years ago
Kevin Mok
35c8371cc7
Merge branch 'audio-features' of https://github.com/chrisshyi/spotify-lib-vis into database
7 years ago
Kevin Mok
e8dd6881b1
Merge pull request #41 from Kevin-Mok/genre-data
Assign the most common genre to tracks instead of just the first genre for the first artist.
7 years ago
Kevin Mok
0c0520af8c
Added most common genre to all tracks ( closes #34 )
Resolved issue of there being multiple artists on a track and "manually
created" an undefined genre for artists that don't have a genre.
7 years ago
Kevin Mok
85c178f2b3
Resolves #39
7 years ago
Kevin Mok
3fe52343aa
Use "several" API call to get audio features
Closes #20 . Also close #38 since parse_library is a bit cleaner now with
some folds, and there's not much to be refactored any more.
7 years ago
Chris Shyi
4c55744db8
Update docstring for parse_library()
The docstring of parse_library still mentions the library_stats
dictionary, which had already been removed.
7 years ago
Chris Shyi
bdc88b5bdb
Create separate page for audio features
An additional page where the user will be directed after logging in was
created. A link to the audio features display page was added to the
aforementioned page. Changes were made to the audio features graphing
function so that the categories are displayed in ascending order (was
random before).
7 years ago
Kevin Mok
bd597cdc23
Use "several" API call to get artist genres
7 years ago
Kevin Mok
df9547293f
Changed all existing pages to use a dark bg
7 years ago
Kevin Mok
709ed9b491
Added most common genre for tracks with 1 artist
Still have to find shared genres for songs with multiple artists (see #34 ).
7 years ago
Kevin Mok
4e1a6df89e
Store genres in artists as m2m field ( #34 )
7 years ago
Kevin Mok
de93bd7b0a
Store counts for genres in Genre model
Have not assigned most common genre to Track models yet (currently
blank).
7 years ago
Chris Shyi
df36f07080
Made scale labels nicer for the audio feature graphs
7 years ago
Chris Shyi
e614b373df
Fix program crash when AudioFeatures is missing
Fixes #32 . AudioFeatures object query is now wrapped in a try/except
block to account for the scenario where the object doesn't exist.
7 years ago
Chris Shyi
0714586e07
Fix program crash when AudioFeatures is missing
Fixes #32 . AudioFeatures object query is now wrapped in a try/except
block to account for the scenario where the object doesn't exist.
7 years ago
Kevin Mok
78eb3e5688
Updated environment_setup.md
7 years ago
Chris Shyi
1ffbc1b692
Update environment_setup.md
7 years ago
Chris Shyi
be815086c0
Use secrets.py to generate user secret
Instead of using our own random string generator function, the user
secret is now being generated using secrets.token_urlsafe(). The max
length of the user secret has been increased to accommodate the size of
the 32 byte string.
7 years ago
Chris Shyi
a6260485ac
Updated function docstring
7 years ago
Chris Shyi
c2c41e82c1
Rewrite drawAudioFeatGraph()
Rewrote the data point categorization part of the function to avoid
using hard coded indices.
7 years ago