Skip to content
This repository has been archived by the owner on Jun 23, 2022. It is now read-only.

Viir/Kalmit

Repository files navigation

This project has moved to https://github.com/elm-fullstack/elm-fullstack

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.

CI Build Status

Platform Status
vs2017-win2016 Build Status Windows
ubuntu-16.04 Build Status Linux