haskell-servant/example-servant-elm

Example for a web app with a servant backend and an elm frontend

Haskell

145

50 commits

updated Sep 29, 2021

See the code

README

Haskell Servant and Elm Example

This example project illustrates how to set up a project that:

  • Uses haskell and servant as a backend exposing a JSON api (and serving some files).
  • Uses elm to write the frontend.
  • Uses servant-elm to generate client functions in elm for the JSON api. This means that mismatches regarding the JSON api will be detected statically.
  • Allows a very fast development cycle: You can type-check the server and client code in a very short amount of time.

Makefile

There's a Makefile included with the following targets:

  • setup -- Set up everything: install ghc and dependencies. (Needs stack, elm and elm-test.)
  • build -- Build the server and the client.
  • server-start -- Start the server here: http://localhost:3000/. Requests sent to this server will trigger a recompilation of the client code (not the server code).
  • test -- Recompiles the client and server code. And runs the test-suite.

Caveats

More examples

This repository demonstrates a servant backend and an elm frontend. More code generation examples can be found in haskell-servant/servant-elm.

Contributors

soenkehahn

24 commits

andys8

20 commits

FranklinChen

4 commits

andreas-ebot7

1 commits

haskell-servant/example-servant-elm

Example for a web app with a servant backend and an elm frontend

Haskell

145

50 commits

updated Sep 29, 2021

See the code

README

Haskell Servant and Elm Example

This example project illustrates how to set up a project that:

  • Uses haskell and servant as a backend exposing a JSON api (and serving some files).
  • Uses elm to write the frontend.
  • Uses servant-elm to generate client functions in elm for the JSON api. This means that mismatches regarding the JSON api will be detected statically.
  • Allows a very fast development cycle: You can type-check the server and client code in a very short amount of time.

Makefile

There's a Makefile included with the following targets:

  • setup -- Set up everything: install ghc and dependencies. (Needs stack, elm and elm-test.)
  • build -- Build the server and the client.
  • server-start -- Start the server here: http://localhost:3000/. Requests sent to this server will trigger a recompilation of the client code (not the server code).
  • test -- Recompiles the client and server code. And runs the test-suite.

Caveats

More examples

This repository demonstrates a servant backend and an elm frontend. More code generation examples can be found in haskell-servant/servant-elm.

Contributors

soenkehahn

24 commits

andys8

20 commits

FranklinChen

4 commits

andreas-ebot7

1 commits

Languages

Haskell

56.3%

Elm

39.3%

Makefile

4.4%