Skip to content

How to build full-stack apps using the Elm programming language.

License

Notifications You must be signed in to change notification settings

LiamDGray/elm-fullstack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

How to build full-stack apps using the Elm programming language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 68.4%
  • Elm 31.2%
  • Other 0.4%