Skip to content
How to build full-stack apps using the Elm programming language.
C# Elm Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Provide easier way to get build output Feb 17, 2020
explore Report performance results for commit c1d3d2a Feb 2, 2020
guide Clarify Feb 17, 2020
implement Fix errors when loading from Github Feb 15, 2020
License.txt License Apr 16, 2019 Help people find Elm-fullstack Oct 1, 2019
azure-pipelines.yml Improve user interface Feb 1, 2020 Find better names Dec 12, 2019

Elm Full-Stack

In this repository, I share what I learn about building full-stack apps using the Elm programming language. This approach emerged out of the development of online multiplayer video games like DRTS.

In these applications, backend and frontend share an understanding of game mechanics and the game world. (Changes in these shared functionalities need to be synchronized between backend and frontend implementation.) Frontend and backend implementations use the same Elm modules for the common parts which need to be kept consistent. The tests run by elm-test also integrate backend and frontend for automated integration tests.

Common, non-application specific functionality is implemented in the Elm-fullstack framework. This includes:

  • Persisting each update in the backend and automatically restore the app state when necessary. To learn more about this functionality, see the guide on persistence in Elm-fullstack.
  • HTTP requests and responses are mapped to Elm types so that we can work with a strongly typed interface.
  • Admin interface to read and set the app state, in case you want to manually intervene or monitor.
  • HTTPS support: The web host automatically gets and renews SSL certificates from Let's Encrypt.
  • Rate-limit client HTTP requests which result in updates of the app.
  • Serve static files on selected paths.

For how to build from Elm code and configure optional features, see the guide on how to configure and deploy your Elm full-stack app.

You can’t perform that action at this time.