Databases
Next-Gen ERD: Design, Explore, Document and Analyze your database schema and data
azimutt.app • roadmap • @azimuttapp
Azimutt is a full-stack database exploration tool.
From modern ERD made for real world databases (big & messy), to fast data navigation, but also documentation everywhere and whole database analysis.
Why building Azimutt?
Databases existed for more than 40 years and despite a lot of tool around them, we couldn't find any providing a great exploration experience.
So we decided to build the missing tool 💪
We started with schema exploration for databases with hundreds of tables, but now, it has grown a lot:
Azimutt goal is to be your ultimate tool to understand your database.
You can load any public SQL file in Azimutt with just an url parameter. So if you have a SQL file in your repo, like structure.sql, you can add a badge allowing your visitors to easily explore it:
[![Explore database with Azimutt](https://img.shields.io/badge/PostgreSQL-browse_online-gray?labelColor=4169E1&logo=postgresql&logoColor=fff&style=flat)](https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt)
Here are some examples:
Use Simple Icons to find other icon/color if needed or use our custom button image:
More details on Azimutt documentation
You can use our Docker image to easily deploy it. Here is the full guide.
You can use our Heroku template which includes Azimutt web app, a Postgres database, Stackhero S3 storage and Mailgun.
After succeed deployment, you will need to configure config vars
# Replace with your app-name
HEROKU_APP=<app-name>
# Set PHX_HOST with the URL of the app
heroku config:set PHX_HOST=$(heroku info -s | grep "web_url" | sed 's|web_url=https://||; s|/$||')
# Copy Stackhero access key to S3_KEY_ID
heroku config:set S3_KEY_ID=$(heroku config:get S3_ROOT_ACCESS_KEY)
# Copy Stackhero secret key to S3_KEY_SECRET
heroku config:set S3_KEY_SECRET=$(heroku config:get S3_ROOT_SECRET_KEY)
Finally, you will need to create the azimutt
bucket on Stackhero:
S3_ROOT_ACCESS_KEY
and S3_ROOT_SECRET_KEY
to log inazimutt
Please read this guide
Azimutt is built with Elixir/Phoenix (backend & admin) and Elm/elm-spa (editor).
For local development you will need to set up the environment:
pnpm
, Elm & elm-spapostgres
with password postgres
and a database azimutt_dev
(see DATABASE_URL
in .env
later)pre-commit install
before committing.env.example
to .env
and adapt valuessource .env && npm run setup
source .env && npm start
admin@azimutt.app
email & admin
passwordOther things:
/api/v1/swagger
pnpm --filter "azimutt-editor" run book
to start Elm design system & components, and access it with localhost:4002We have a lot of projects with a lot of commands, here is how they are structured:
setup
is a one time command to install what is requiredinstall
download dependencies, should be run when new ones are addedstart
launch project in dev modetest
allows to run testsformat
allows to run execute code formattinglint
allows to run execute lintersbuild
generate compilation outputbuild:docker
same as build
but in the docker image (paths are different 😕)update
bumps library versionspnpm --filter "azimutt-editor" run book
to launch the Elm design systemstripe login
stripe listen --forward-to localhost:4000/webhook/stripe
STRIPE_WEBHOOK_SIGNING_SECRET
variable in your .env
file (looks like whsec_...
)STRIPE_API_KEY
in your .env
file (looks like: sk_test_...
)When testing interactively, use a card number, such as 4242 4242 4242 4242
. Enter the card number in the Dashboard or in any payment form.
Use a valid future date, such as 12/34
.
Use any three-digit CVC like 123
(four digits for American Express cards).
Use any value you like for other form fields.
See more in the stripe testing documentation
The tool is available as open source under the terms of the MIT License.