Open martipal opened 5 years ago
For the previous two weeks, I looked into how Spotify authorization flow works and played with their demo code. I also created several components including the developer info and list of references on the About page, and parsed a sample user information payload from Spotify to display the current user info on the Account page. One challenge I faced was to display local images with meteor, which was solved by creating a top-level public/ directory. For the next sprint, I’ll be implementing login with Spotify and use the access token to get user info and song logs.
For the past iteration, I was mainly responsible for the front-end html structure. I implemented the headings and navigation bar component. Specifically for the nav bar, I used react router so that wrap the rest of the components into deferent pages. I chose to use NavLink which is a implemented component that can easily distinguish between active page and inactive page so that further styling can be realized. I found it is very hard for react router to be styled properly as it is not a simple anchor tag so that takes some time to go through the whole react router and found the proper CSS format. For the next iteration, I'll imported Redux into our project and use it to store different states. Reformat the component and create reactions, reducers to let the app more functional. I also going to create a login pages with link to Spotify login.
In the previous sprint, I conducted research into Spotify's public API to examine which endpoints we are going to use in our application. I parsed a JSON response from Spotify's most-recently-played endpoint to gather info for each song, such as name, artist, album art, etc. I created a song component and a feed component to render this information in our web app. In the upcoming sprint, I will be further refining the styling of our existing components and adding additional components (your tracks, expand/collapse buttons, etc) to wrap up the UI design of our application. One challenge in the previous sprint was working with CSS and getting things to appear how I wanted them to in our app.