Conclusion - Take434/Appollon GitHub Wiki

All in all this project was very interesting to work on. Something that stood out was the fact, that it was always necessary to think about the Spotify API. Even in the early planning stages it was obvious, that only functionalities enabled by the API could be implemented. Especially the "Listening History" Tab of the application is not easy to implement, because Spotify does not provide any data for it. For that reason, this feature was not implemented in the scope of this university project, but it would be interesting to do so in the future.
Another big part of Appollon, the statistics focusing on genres, is also not well supported by the Spotify API. According to the reference each song can return a string containing genres, but most songs are actually not categorized, meaning this string is usually empty. An Idea to still get genres for each song, would be to classify them with a neural network, after they are requested from the API, but this was out of scope for the project.
Something else that became obvious, was the fact, that the prototyping phase of this project was very extensive. Looking back, it might have been possible to reduce the time spent on prototyping and focus more on the actual implementation.
Also, this wiki only discusses the most interesting or important features, there are many things, that have been left out, for example the logo design.
Furthermore, there are many features that still need implementation before Appollon can be called a finished product, these can be found in the Future Work section below. After these are implemented, Spotify can be requested to move the app into production mode, allowing all users to register without having to explicitly add them.

Future Work

The first features to be implemented, will be the ones described in the prototype. These include the Listening History, the Personal Stats and an overhaul of the Analyse your Playlist page to contain information about artists and possibly genres. Furthermore, the implementation of a blob storage is planned. The blob storage will contain the profile pictures of the users and the cover links from playlist, since their links might change. For this, the exact Spotify Developer Terms would need to be checked again, to ensure that the app is following the rules.
After these features are implemented, creating a recommendation page is planned. This would give the user an easy and user-friendly way to input different seed artists, tracks or genres to find songs, which they like. The Spotify app already has a very restricted recommendations feature, which shows tracks based on created playlists. Getting recommendations for other playlists is not possible.

There are still bugs in the app. Some of the bigger issues include:

Playlists, which are created by Spotify and are different for each user, have the same Spotify id but contain different songs for each user. An example of this would be the Top Tracks of x playlist. At the moment it is not clear how these playlists can be identified, based on the Spotify API response.

Performance. The process of gathering data from the API and storing it in the database can still be optimized. There is an extra API request being made, every time you query a paged result.

The scales for the boxplots are still being worked on. They are not always correctly displayed and some, like the duration, still need updating.