Contributors:
Scrum master: Ryan Nasr
Product owner: Jordan Kim
Developers: Aaron, Safi
Technical support: Oskar Hovland
Documentation: Yuchen Li (Lucas)
Spotify Wrapped:
This application was created for the purpose of viewing current and previous Spotify wrapped and to be able to compare with friends.
When the app is first opened, there is a start screen that forces you to log in with your Spotify account. This is in order to synch your listening history.
From there, you open the start menu. From the start menu, there are 5 options. Wrapped, Duo Wrapped, Past Wrapped, friends and notifications.
Wrapped: Shows your listening activity and tastes over the previous time period depending on the length of your choosing as well as recommended songs based on your previous listening activity.
Duo Wrapped: A side-by-side comparison of your wrapped with a friend of your choosing.
Past wrapped: Allows you to view your wrapped from previous times.
Friends: allows for the connection between you and your friends so that you can later watch the duo wrapped comparison with the aforementioned.
Notifications: In the top right corner, there is a notification bell that shows whenever someone wants to add you as a friend.
Process Description:
Every week, our team met via zoom to plan the work that need to be done until the next meeting. We also kept in contact through text messaging. We decided to highly base the project off the Single Responsibility Principle: Each of the classes in the program has their own classes and functionalities. This is because each file can be trusted to do exactly as needed. The program was much easier to maintain and debug as well as it allowed for reusability of certain functions.
The design pattern we chose to utilize was client-server application. We created two separate entities in this program: The front-end program that moves between the different pages and called the second part, which was Firebase. Firebase retrieved data from the synced Spotify profile and analyzes said data.
Below is a graph representation of how our application would connect together the different accounts and functionalities.
Video Demonstration: