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

NameOptionalPurpose
ElixirNoBackend programming language
AuthorityYesAuthentication library
AbsintheYesGraphQL APIs (for mobile apps)
PhoenixYesHTTP/Websocket support
Webpack / BrunchYesFront-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.