Coder Social home page Coder Social logo

dietrichm / admirer Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 735 KB

๐Ÿ”„ ๐ŸŽถ Sync loved tracks between music services.

Home Page: https://dietrichm.github.io/admirer/

License: MIT License

Go 99.67% Makefile 0.33%
cli go golang lastfm spotify sync synchronization

admirer's People

Contributors

dependabot[bot] avatar dietrichm avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

admirer's Issues

Sync tracks since last update

Currently syncing works on the last x amount of loved tracks on the source service. However for a lot of use cases it would be easier to sync tracks since the previous sync.

As both Last.fm and Spotify keep a datetime a track was added, we could run a sync for tracks up to the last synced track, given we save said datetime in a persistent state.

Add HTTP callback URL to complete service authentication flow

Every OAuth2 authentication flow redirects to the non existing https://admirer.test.

Let's complete the flow by spinning up a HTTP server on a random port and let the browser redirect back there, so Admirer picks up the OAuth2 token automatically.

Expose HTTP API

Thinking of building a separate web-based front-end, Admirer should or could expose its functionality currently available through CLI commands over a small HTTP API.

Add loved tracks sync command

The sync command is the most important feature of this tool.

Given a limited number of recently loved tracks on one service, query and mark as loved the same tracks on another service.

Synchronization should work in any direction.

Include API client ID and secret in service's secrets

Currently, the API client and secret have to be set in environment variables. This is not the most user friendly approach.

Better would be to query for the ID and secret during the service login flow, and read/write both values from/to the existing secrets file.

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.