Name: example-servant-elm
Owner: servant
Description: Example for a web app with a servant backend and an elm frontend
Created: 2016-05-19 10:17:37.0
Updated: 2018-05-22 16:28:58.0
Pushed: 2017-12-01 03:23:56.0
Homepage: null
Size: 25
Language: Haskell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This example project illustrates how to set up a project that:
servant
as a backend exposing a JSON api
(and serving some files).servant-elm
to generate client functions in elm for the JSON api.
This means that mismatches regarding the JSON api will be detected statically.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).server-start-reserve
– Start reserve to
serve the app on http://localhost:12000/. In this setting, both changes to
the client and server code will be automatically triggered by http requests.
This is the ideal mode for running the app during compilation, however it has
some caveats:reserve
crashes from time to time. Don't know why.reserve
restarts the server for every request, nothing is persistant. (We should
switch to a real database for this example.)sensei-start
– Starts sensei. Needed for
fast-test
.fast-test
– Recompiles the client and server code. And runs the test-suite.
Meant to be run often after making changes to the code during development.