Elixir Boilerplate

screenshot of Elixir Boilerplate

The stable base upon which we build our Elixir projects at Mirego.

Overview:

The Elixir Boilerplate is a project maintained by Mirego that provides a ready-to-use setup for creating Elixir applications. It includes various features such as integration with the Phoenix web framework, database integration using Ecto, GraphQL API setup with Absinthe, and more. The boilerplate also comes with pre-configured testing, linting, security scanning, and error reporting tools. The project is released under the New BSD license.

Features:

  • Phoenix, a battle-tested production-ready web framework
  • Database integration using Ecto
  • GraphQL API setup with Absinthe, Absinthe.Plug, Dataloader, and AbsintheErrorPayload
  • Translations with Gettext and Accent
  • ExUnit tests, factories using ExMachina, and code coverage using ExCoveralls
  • CORS management with Corsica
  • Opinionated linting with Credo
  • Security scanning with MixAudit and Sobelow
  • Healthcheck setup with plug_checkup
  • OTP release using mix release and Docker
  • Useful utilities for web features such as basic authentication with BasicAuth and canonical host with PlugCanonicalHost
  • Error reporting with Sentry
  • Clean and useful README.md template

With GitHub template:

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

graphql
Graphql

A website that uses GraphQL as a query language to manage data fetching and state management. This includes features such as a strongly typed schema, client-side caching, and declarative data fetching to streamline data management and optimize website performance.