This repository is the stable base upon which we build our Elixir projects at Mirego.
We want to share it with the world so you can build awesome Elixir applications too.
This boilerplate comes with batteries included, you’ll find:
- Phoenix, the battle-tested production-ready web framework
- Database integration using Ecto
- GraphQL API setup with Absinthe, Absinthe.Plug, Dataloader and AbsintheErrorPayload
- Translations with Gettext
- ExUnit tests, factories using ExMachina and code coverage using ExCoveralls
- CORS management with Corsica
- Opinionated linting with Credo
- Security scanning with Sobelow
- OTP release using
mix release
and Docker - Useful utilities for web features: Basic authentication with BasicAuth, canonical host with PlugCanonicalHost, etc.
- Error reporting with Sentry
- A clean and useful
README.md
template (in both english and french)
- Click on the Use this template button to create a new repository
- Clone your newly created project (
git clone https://github.com/you/repo.git
) - Run the boilerplate setup script (
./boilerplate-setup.sh YourProjectName
) - Commit the changes (
git commit -a -m "Rename elixir-boilerplate parts"
)
- Clone this project (
git clone https://github.com/mirego/elixir-boilerplate.git
) - Delete the internal Git directory (
rm -rf .git
) - Run the boilerplate setup script (
./boilerplate-setup.sh YourProjectName
) - Create a new Git repository (
git init
) - Create the initial Git commit (
git commit -a -m "Initial commit"
)
Elixir Boilerplate is © 2017-2019 Mirego and may be freely distributed under the New BSD license. See the LICENSE.md
file.
The drop logo is based on this lovely icon by Creative Stall, from The Noun Project. Used under a Creative Commons BY 3.0 license.
Mirego is a team of passionate people who believe that work is a place where you can innovate and have fun. We’re a team of talented people who imagine and build beautiful Web and mobile applications. We come together to share ideas and change the world.
We also love open-source software and we try to give back to the community as much as we can.