Giter VIP home page Giter VIP logo

notify-releases's Introduction

Notify Releases

Notify new releases from a list of artist you follow

The list of artist to follow is got through LastFM, so you will need an account there. The list is updated each day.

Then the program will launch regular request to the MusicBrainz API to check any new release of each artist, one artist per request.

The list of new releases can be browsed through a web page that communicate with the program via HTTP requests.

Now Optional: And every 30 minutes a mail might be sent with the new releases it has found since then.

New: Every week the program will lookup all the people you follow on LastFM, get all tracks they listened to, and for each tracks listened by at least two people, will generate a 'new release' visible in the web page, or in the optional mails

What is needed to launch it :

  • The DartSDK
  • A LastFM account, and an LastFM API key you can get by filling this form LastFM API
  • Now Optional: A mail account to use to deliver the new releases (you have to know the smtp adress of the mail provider you use)
  • Now Optional: The email address of your mail account on which you want to receive the new releases mails

How to use it :

Download it somewhere, then launch the pub get command to get the dependencies at the root of the notify-releases folder:

~/Dev/notify-releases $> pub get

Then go inside the bin folder and edit the config.json file

Some explanations for each parameter are in this file

An example of this file without mail notifications enabled could be this one :

{
  "lastFMApiKey": "some long line of characters and numbers",
  "lastFMUsername": "test",
  "daysToSubtract": 30,
  "minutesUntilNextMail": 60,
  "minPlayCountToNotify": 10,
  "mailNotificationEnabled": false
}

Or an example of this file with mail notifications enabled could be this one :

{
  "lastFMApiKey": "some long line of characters and numbers",
  "lastFMUsername": "test",
  "daysToSubtract": 30,
  "minutesUntilNextMail": 60,
  "minPlayCountToNotify": 10,
  "mailNotificationEnabled": true,
  "mailSmtpHostname": "smtp.gmail.com",
  "mailSmtpPort": 465,
  "mailSmtpSecured": true,
  "mailSmtpUsername": "GmailUsername",
  "mailSmtpPassword": "GmailPassword",
  "mailAddressToContactForNewReleases": "[email protected]"
}

The Web Part

The program comes with a web part that you can use to control it, or see a more adapted list of the release you have to check.

The list itself is independent of the ones sent in mail, so each mail you receive will not delete the records on this list.

gif of the front end of the web part

How to use it

You will need to modify the web/main.dart file (link to it in github.com) to put your LastFM API key, and to put the http address of the program.

By default the program is listenning on "http://localhost:9100".

Then from the root of the project launch

~/Dev/notify-releases $> pub build

You will have a new directory created at the root: build/web, there you can launch the index.html file from any browser you want.

notify-releases's People

Contributors

antonin-lebrard avatar

Stargazers

 avatar

Watchers

 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.