Need help with albums?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

124 Stars 14 Forks 48 Commits 2 Opened issues


Sample application for my blog series on creating a Single Page CRUD app using Elm and Haskell

Services available


Need anything else?

Contributors list

# 112,411
42 commits
# 750,873
1 commit
# 360,535
1 commit

= Albums Haskell/Elm App Sample application for my blog series on creating a Single Page CRUD app using Elm and Haskell v0.1.0, 2015-12-29: published :library: Asciidoctor :numbered: :idprefix: :toc: macro

== Preconditions

=== Backend The backend is written in Haskell and uses[servant] to serve a REST-api.

.You will need to install: . Haskell - You might want to install[Haskell platform] .[Stack]

=== Frontend The frontend is written in[Elm]

.You will need to install: .[Elm platform]

== Get it up and running

Firstly just clone this repo. If you wish to try out the demo app corresponding with a particular episode of the accompanying blog series, checkout the appropriate tag (named after each episode)

=== Backend . Open a terminal and cd to

. (Optional/Depending on your ghc version in path) -
stack setup
stack build
stack exec albums

If you would like to hack with reload support: -

stack install halive
alternatively clone[halive] and build with stack manually (you might need to fiddle to ensure the ghc version used matches/is compatible with the backend app) -
stack exec halive src/Main.hs src
- Edit/save and enjoy recompile and auto restart

You may test that it's up and running by

curl http://localhost:8081/artists/1

=== Frontend . Open a terminal and cd to

elm-package install --yes
npm install
npm run dev

Open a browser window with the following url:


You should now be able to do changes on .elm files, and upon save get live reload.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.