Giter VIP home page Giter VIP logo

readify's Introduction

Readify

Lightweight application to summarise your spotify data

1 About:

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.

2 How to:

2.1 Getting your data:

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.

2.2 Loading your data:

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:

Files

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:

StartScreen

Upon opening the first drop menu, you may see the following:

DropMenu

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.

FileSelection

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.

LoadingSongs

After a while you will end up with this screen:

Report

If the report reflects your data, then congrats, you successfully loaded your data.

3 Building

3.1 Dependencies

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>

3.2 Builiding an executable jar

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>

4 Special thanks

PudimAtômico for the banger name and for hating me.

Ezenere for feedback and discussing flight simulators with me when no one else wants to.

readify's People

Contributors

mega2223 avatar

Stargazers

Slz avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.