• Stars
    star
    745
  • Rank 60,881 (Top 2 %)
  • Language
    Elm
  • License
    Other
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A music player that connects to your cloud/distributed storage.

Diffuse

A music player that connects to your cloud/distributed storage,
in the form of a static, serverless, web application.

πŸ“ Available at diffuse.sh and for download.


Integrations

Music layer for music storage. User layer for user-data storage.

Music layer

User layer


Hosting on your own server

Diffuse is a static web application, which means it's just HTML, CSS, and Javascript. No REST API, database, or anything backend-related involved. The app uses a hash (aka. fragment-based) routing system, so you don't need any special server rules for routing. You can download a pre-build web-only version of Diffuse on the releases page. Diffuse uses service workers, so you may need HTTPS for it to work smoothly in certain browsers.

I should also note that some source services use OAuth, so you'll need to use your own application credentials (eg. Google Drive client ID + secret). That said, if you're working locally, you can use http://localhost:8000 or http://127.0.0.1:44999 to use the default ones, that's what the old Electron app was using.

In short:

  • Diffuse is a static, serverless web application
  • Routing is done using hashes/fragments (eg. diffuse.sh/#/sources)
  • Download a web build on the releases page
  • Uses service workers (use HTTPS if possible)
  • May need own OAuth application credentials for some source services

Building it yourself

This project uses Nix to manage the project's environment. If you'd like to build this project without Nix, check out the dependencies in the nix/shell.nix file (most are available through Homebrew as well).

# 🍱

# 0. Install the Nix package manager
# https://nixos.org/download.html

# 1. Setup environment
nix develop

# 2. Install js dependencies
just install-deps

# 3. Build, start server & watch for changes
just

More Repositories

1

ectograph

Ectograph is a set of utility functions for using Ecto in combination with graphql-elixir/graphql
Elixir
31
star
2

shikensu-haskell

Run a sequence of functions on in-memory representations of files.
Haskell
13
star
3

elm-tailwind-css

Use Tailwind CSS with Elm
JavaScript
10
star
4

event-sourcing-experiment

βš οΈπŸ‘¨β€πŸ”¬ A small-ish experiment with event sourcing
Haskell
9
star
5

elm-binary

Work with sequences of binary numbers in Elm.
Elm
6
star
6

quotes

Show a random quote from a remote json-quotes collection
Elm
6
star
7

elm-material-icons

Material icons for Elm.
Elm
6
star
8

key_maps

A simple data-structure API
Elixir
5
star
9

elm-proofread

Elm documentation testing.
Haskell
5
star
10

elm-sha

Build SHA hashes using Elm.
Elm
4
star
11

css-support

CSS data for Elm.
Elm
3
star
12

snowboard-minimal-template

A minimalistic template for Snowboard, a renderer for API Blueprints.
HTML
3
star
13

data_processor

Parse YAML and Markdown files, manipulate their data and convert it to JSON.
Ruby
2
star
14

icidasset

Personal website.
Haskell
2
star
15

checklists

Build checklists.
Elm
2
star
16

herknen

A minimalist todo-list app, inspired by Clear.
Elm
2
star
17

key_maps_ui

A UI for Key Maps
Elm
1
star
18

mokuji

Make a recursive list from a directory's contents and export it in html, plain html, json or plain text
Ruby
1
star
19

html-gren

Transmutable HTML for Gren
1
star
20

haskell-format

βš οΈπŸ‘¨β€πŸ”¬ Experiment alert.
Haskell
1
star
21

electricity-elixir

βš οΈπŸ‘¨β€πŸ”¬ Experiment alert.
Elixir
1
star
22

shikensu-gren

Run a sequence of functions on in-memory representations of files.
1
star
23

storage

βš οΈπŸ‘¨β€πŸ”¬ Experiment alert.
Haskell
1
star
24

bare-tooltip-js

Basic tooltip plugin in javascript
JavaScript
1
star
25

bare-slideshow-js

Basic slideshow plugin in javascript, without the bullshit that is.
JavaScript
1
star
26

elm-or-react

Elm or React?
Elm
1
star
27

elm-0.19-issue

See README.
Elm
1
star