Mithril
An Elixir architecture in a box for a backend server.
Mithril provides a foundation for a long-lived, maintainable, and highly scalable backend server.
Technologies Used
Name | Optional | Purpose |
---|---|---|
Elixir | No | Backend programming language |
Authority | Yes | Authentication library |
Absinthe | Yes | GraphQL APIs (for mobile apps) |
Phoenix | Yes | HTTP/Websocket support |
Webpack / Brunch | Yes | Front-end assets (JS/CSS) |
Why
While mobile apps are taking over the world, they usually require a backend. Businesses rely on their backends, and rarely have budget or the desire to rewrite them.
It is therefore very important that the backend be reliable and scalable without rewrites. Mithril uses Elixir for reliability and scalability, and a set of conventions to ensure that the backend server is maintainable over the long term.
None of these conventions are “new” to the Elixir community. Mithril simply explains existing tools and demonstrates best practices for building scalable Elixir applications. Mithril is not a framework, it’s a name for a set of conventions.