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
updatein 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.