PulseFi uses music and health APIs to study the effect of music on human physiology, allowing users to control their body and mind through music selection based on data analysis.
vist the website: https://pulse-fi.herokuapp.com/
Note: only optimized for desktop use, mobile use is not recommended
there is extensive setup required to deploy the app between the setting up the postgres database and setting up the developer accounts for fitbit and spotify. Instead of providing the extensive list of environment variables and account information, the app is deployed on heroku and can be used by visiting the website.
upon visiting the website click on the login button in the top left hand corner, click the "login as guest" button to use the credientials of Matthew Nann. This will allow you to use the app without needing to own a fitbit or spotify account. If you would like to use your own fitbit or spotify account, can register an account with PulseFi by clicking the "register" button in the top left hand corner. Once logged in, navigate to the dashboard page to see all data.
- python (3.9.16)
- flask - python web framework, boilerplate code from flask-login was used to shell out the login and registration pages
- postgres database
- dash - web based data visualization (integrated into flask app)
- html, css, javascript - limited use with flask
- heroku - cloud platform, used to automatically deploy the most recently commit on main branch
the user can use either fitbit or oura ring depending on what consumer health tracking device they own
- spotify API - music data
- oura ring API - health data
- fitbit API - health data
- select between Sleep, Exercise, Relax, Work with drop down menu
- select a playlist from the user's spotify account
- start a mode, which cause music from selected playlists to be played on the user's spotify account (if guest account, the music will be played on the guest account, if registered account, the music will be played on the user's spotify account)
- select the date range to view the played music and heart rate data
- interact with the parallel coordinate graph by dragging along the a vertical axis to select a range of songs to view, double click to remove the selection