An open API service indexing awesome lists of open source software.

https://github.com/boonious/coda

Analytics and visualisation of music listening history 听歌历史
https://github.com/boonious/coda

analytics elixir lastfm

Last synced: 4 months ago
JSON representation

Analytics and visualisation of music listening history 听歌历史

Awesome Lists containing this project

README

          

# Coda: music listening history [![Build Status](https://github.com/boonious/coda/actions/workflows/elixir.yml/badge.svg)](https://github.com/boonious/coda/actions/workflows/elixir.yml) [![Hex pm](http://img.shields.io/hexpm/v/coda.svg?style=flat)](https://hex.pm/packages/coda)

Analytics and visualisation of Last.fm music listening history 听歌历史.

`coda` currently experimental and works with Last.fm columnar data extracted by
[lastfm_archive](https://github.com/boonious/lastfm_archive). See:
[Creating a file archive](https://github.com/boonious/lastfm_archive#livebook-guides).

See [on this day ♫](#livebook) analytics Livebook.

## Usage

For now, you can deploy and use the tool in [Livebook](https://livebook.dev) while
an analytics API and functionality are being refactored and developed.

### Livebook
[On this day ♫](https://hexdocs.pm/coda/on_this_day.html) presents
analytics of music discovered (new) and most played Lastfm scrobbles
on this day (today) over the years.
The page also features an interactive [Kino explorer](https://hexdocs.pm/kino_explorer/Kino.Explorer.html)
to help delving into the data.

[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fraw.githubusercontent.com%2Fboonious%2Fcoda%2Fmaster%2Flivebook%2Fon_this_day.livemd)

![overview on this day](assets/img/livebook_on_this_day_overview.png)

![on this day most played analytics](assets/img/livebook_on_this_day_most_played_analytics.png)

![new on this day analytics](assets/img/livebook_on_this_day_new.png)

## Requirement

This tool requires Elixir and Erlang (see [installation](https://elixir-lang.org/install.html) details
for various operating systems) or [Livebook](https://livebook.dev).

## Installation

`coda` is [available in Hex](https://hex.pm/packages/coda),
the package can be installed by adding `coda`
to your list of dependencies in `mix.exs`:

```elixir
def deps do
[
{:coda, "~> 0.3"}
]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/coda](https://hexdocs.pm/coda).

## Configuration
Add the following `lastfm_archive` config in `config/config.exs`:

```elixir
config :lastfm_archive,
user: "lastfm_user", # Lastfm user
data_dir: "./lastfm_data/", # directory containing Lastfm file data,
```