→ practle.io
Application server hosting the Haskell backend
External triggers to the application (e.g. update cache, some health checks)
User emails & automatic (internal) reporting of errors to admins
External user authentication and authorization (roles & groups)
In-memory cache for external resources (e.g. Auth0 data, data from configuration files)
Main relational DB engine
Fast delivery & limit content distribution
Horizontal scaling
Cross platform build
Frontend application
Backend logic (REST, Auth0, Redis, Postgres, functional graph library (fgl), ...)
Static resources (html, css, js, ...)