Commit Graph

96 Commits

Author SHA1 Message Date
e50d3d8476 Login app working (#47)
Can login and create User object. Also now store user token info in db
(closes #48).
2018-06-29 08:43:03 -04:00
8b1344d453 Split spotifyvis code into different apps (#47)
Server is able to start, but none of the apps are linked together yet.
2018-06-29 04:25:27 -04:00
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
2018-06-28 16:42:16 -04:00
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.
2018-06-27 12:07:38 -04:00
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.
2018-06-27 06:21:06 -04:00
3aa49cc4e1 Resolves #35 2018-06-27 03:34:35 -04:00
35c8371cc7 Merge branch 'audio-features' of https://github.com/chrisshyi/spotify-lib-vis into database 2018-06-27 03:29:34 -04:00
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.
2018-06-27 02:06:17 -04:00
85c178f2b3 Resolves #39 2018-06-27 00:49:29 -04:00
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.
2018-06-27 00:34:38 -04:00
Chris Shyi
4c55744db8 Update docstring for parse_library()
The docstring of parse_library still mentions the library_stats
dictionary, which had already been removed.
2018-06-25 22:09:05 -04:00
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).
2018-06-25 21:39:39 -04:00
bd597cdc23 Use "several" API call to get artist genres 2018-06-25 04:47:39 -04:00
df9547293f Changed all existing pages to use a dark bg 2018-06-25 04:20:55 -04:00
709ed9b491 Added most common genre for tracks with 1 artist
Still have to find shared genres for songs with multiple artists (see #34).
2018-06-25 03:18:26 -04:00
4e1a6df89e Store genres in artists as m2m field (#34) 2018-06-24 07:05:54 -04:00
de93bd7b0a Store counts for genres in Genre model
Have not assigned most common genre to Track models yet (currently
blank).
2018-06-24 02:30:19 -04:00
Chris Shyi
df36f07080 Made scale labels nicer for the audio feature graphs 2018-06-23 17:55:03 -04:00
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.
2018-06-23 16:45:08 -04:00
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.
2018-06-22 16:28:47 -04:00
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.
2018-06-18 21:50:06 -04:00
Chris Shyi
a6260485ac Updated function docstring 2018-06-18 15:46:07 -04:00
Chris Shyi
c2c41e82c1 Rewrite drawAudioFeatGraph()
Rewrote the data point categorization part of the function to avoid
using hard coded indices.
2018-06-18 15:41:23 -04:00
Chris Shyi
4926eb57e8 Make drawAudioFeatGraph() more generic
Redefined the API of drawAudioFeatGraph() to take in an array of real numbers defining the intervals in which the data points will be binned.
2018-06-16 10:20:37 -04:00
Chris Shyi
840152b99e Add title to audio feature graphs
Audio feature bar graphs now have titles.
2018-06-15 20:48:35 -04:00
Chris Shyi
fcb894fcb9 Refactor audio feature graph code
Code for drawing audio feature graphs has been refactored into a
function.
2018-06-15 20:29:17 -04:00
Chris Shyi
bb97095398 Draw bar chart for instrumentalness
Instrumentalness bar chart for 15 songs has been drawn. The chart needs
to be beautified with colors and the axis labels could use some styling.
2018-06-15 20:11:15 -04:00
Chris Shyi
c518556126 Draw audio feature bar charts
Started work on drawing the bar charts for audio features.
2018-06-15 17:03:49 -04:00
9875cbeb68 Moved script to create genre graph to static file
- sorted artists in bar by most to least, bottom to top
- wrap x-axis labels by bar width
- increased track name length (program crashed on a track name)
2018-06-14 07:49:27 -04:00
f71ba20116 Fixed bars not being at right height
Avoided artist breakdown overflowing total tracks in genre by only
adding artists while running tally is less than total.
2018-06-14 06:38:30 -04:00
162b2dad37 Setup color range for bars
Included a script to generate attractive colors.
2018-06-14 06:13:42 -04:00
2342e6ef49 Initial setup of stacked bar chart for genres
Bunch of issues with it that still need to be fixed.
2018-06-14 05:31:07 -04:00
7b968c9d86 Include artist breakdown in get_genre_data 2018-06-12 01:26:42 -04:00
05b5cc404a Trying to get correct artist breakdown in genres
Counts are off since there are multiple artists on a track.
2018-06-11 21:58:51 -04:00
98b14b9000 Add top genre to Track object
- merge from chris/audio_features branch
- fixed crashing when new artist doesn't have genre
- get genre/artist data using user secret
- removed punctuation from user secret
2018-06-11 18:51:28 -04:00
Chris Shyi
4698663a85 Rewrite generate_random_string()
Rewrote generate_random_string() in a more Pythonic fashion.
2018-06-10 09:21:35 -04:00
Chris Shyi
3e35e52f45 Retrieve audio feature data from frontend
Added user_secret field to User. Set up a basic JavaScript function for
querying audio feature data from the frontend.
2018-06-09 21:30:26 -04:00
Chris Shyi
3cf3eef7ac Merge branch 'in-progress' of https://github.com/chrisshyi/spotify-lib-vis into in-progress 2018-06-09 14:00:26 -04:00
Chris Shyi
9d43048067 Clean up views.py and utils.py further
views.py and utils.py were cleaned up further to remove any obsolete usage of
library_stats.
2018-06-09 13:58:52 -04:00
ea5990d048 Fixed duplicate key error in save_track_obj
Can't create Track object without the artists/user so get_or_create
doesn't work properly.
2018-06-08 22:30:01 -04:00
Chris Shyi
ef7933fb67 Delete 0003_auto_20180608_2007.py 2018-06-08 20:59:42 -04:00
Chris Shyi
d995a15444 Delete 0002_auto_20180608_2002.py 2018-06-08 20:59:34 -04:00
Chris Shyi
53f78853d9 Delete 0001_initial.py 2018-06-08 20:59:27 -04:00
Chris Shyi
92d5d174e8 Modify maximum field length
Artist.genre and Track.name had maximum lengths that were not long enough, now increased.
2018-06-08 20:08:17 -04:00
Chris Shyi
fd7a031bf2 Fix incorrect usage of update()
update() is a QuerySet method. To update a single object, use save().
2018-06-08 19:58:44 -04:00
Chris Shyi
0e69d3d190 Removed test_db.js 2018-06-08 19:50:50 -04:00
Chris Shyi
90dbda4336 Removed UserAudioSummary class 2018-06-08 19:47:51 -04:00
Chris Shyi
797115e9cb Clean up utils.py to use database
Uses of the original library_stats dictionary in utils.py were either removed or commented out, replaced by the saving of models into the database.
2018-06-08 18:45:16 -04:00
Chris Shyi
29ab115f91 Merge branch 'in-progress' of https://github.com/Kevin-Mok/spotify-lib-vis into in-progress 2018-06-07 22:15:11 -04:00
79aedc655d Trying to pass artist data from db to frontend 2018-06-07 21:48:38 -04:00