A sandbox for figuring out how to create a new Elixir/Phoenix project.
This is a place for me to learn how to create a new Phoenix project from scratch and add important tooling/features on top of the vanilla project. The goal is to utilize as much built-in Elixir/Phoenix tooling as possible, adding outside dependencies only as necessary.
See the docs dir for more details on various aspects of a basic Elixir/Phoenix application.
- Install
asdf - Use asdf to install the version of the following specified in
.tool-versions:- Erlang
- Elixir
- Run
docker-compose upfrom the root of this project to create the local dev database - Run
mix deps.getto retrieve dependencies - With the Docker database container still running, run
mix ecto.setupto setup the local database - Run
iex -S mix phx.serverto start the local server - Visit localhost to confirm the server is running
- Basic project setup
- Docker for local Postgres
- First migration
- Display table data (choose library)
- Accounts: admin, user
- Admin login/authentication
- [] Add an API endpoint
- [] Cloud provider
- [] Terraform
- Formatting; mix format.credo
- [] Docker deployments
| Tool / Library | Useage |
|---|---|
| asdf | Tool version manager |
| Docker | Containers |
| credo | Code formatting |