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:

  1. Click on the "Use this template" button to create a new repository.
  2. Clone your newly created project by running git clone https://github.com/you/repo.git.
  3. Run the boilerplate setup script by executing ./boilerplate-setup.sh YourProjectName.
  4. Commit the changes by running git commit -a -m "Rename elixir-boilerplate parts".

Without GitHub template:

  1. Clone the Elixir Boilerplate project by running git clone https://github.com/mirego/elixir-boilerplate.git.
  2. Delete the internal Git directory by executing rm -rf .git.
  3. Run the boilerplate setup script by executing ./boilerplate-setup.sh YourProjectName.
  4. Create a new Git repository by running git init.
  5. Create the initial Git commit by executing git commit -a -m "Initial commit".

Summary:

The Elixir Boilerplate is a comprehensive setup for creating Elixir applications. It includes various features and pre-configured tools for testing, linting, security scanning, and error reporting. The boilerplate project is released under the New BSD license and is actively maintained by Mirego.

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.