Lightweight application to summarise your spotify data
Readify uses the GSON API to read Json files and convert their data into readable stats, it does not require any internet connection whatsoever. I am working on it in order to keep track of my listening habits and to know how precisely addicted I am to listening stuff.
If you want do do a contribution or want me to work on a feature, feel free to open a pull request, and I'll see if I can work on it.
First things first, you will need said Json files containing your private info, you can either make an automated request in your profile settings page which will give you all your spotify activity over the last year, or you can mail spotify support in order to get your full spotify history since your account was created, Stats.fm has a very good and easy to follow guide onto how to do this properly. Upon making a request, it will take some days for Spotify to compile it all, when the process is completed, they shall send you an email alerting you that your data is available for download.
Upon downloading and extracting your data, your files should be a bunch of JSon files, most of these files are irrelevant for us, the ones you need to look for can show in 3 different ways depending on how you requested your data:
The quantity of files largely depends on the quantity of songs you listened. As soon as you located those, open the application and you may see a screen like this:
Upon opening the first drop menu, you may see the following:
If you only have the last year's history then select the StreamHistory files option, otherwise select the EndSong option.
Go to your files using the file explorer, note that you can select multiple files by holding Shift or Ctrl.
The application may display a loading bar or freeze depending on how your data is handled, this may take a minute so so not close the application, even if it stops answering.
After a while you will end up with this screen:
If the report reflects your data, then congrats, you successfully loaded your data.
This repo requires two Maven dependencies to work, GSON and AguaLib, a personal lib that is responsible for rendering the graphs.
Unfortunately i haven't been able to upload aguaLib to Maven Central yet, so you need to clone the repository and execute the maven deploy task yourself in order to solve this dependency.
Here is what your pom.xml should absolutely have in order for the application to work:
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>net.mega2223</groupId>
<artifactId>aguaLib</artifactId>
<version>1.3.4</version>
</dependency>
</dependencies>
This application uses the Maven Assembly Plugin to build the executable jar with all the required dependencies, simply put this into your pom.xml and run a 'mvn package' command
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>net.mega2223.readify.Application</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>