Design, Explore, Document and Analyze your database
azimutt.app • roadmap • @azimuttapp
Azimutt is an Entity Relationship Diagram (ERD) targeting real world database schema (big & messy).
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.
- Database clients focus on querying experience, with auto-completion and table/column lists but no visual help
- ERDs have a great diagram UI but fall short when schema is growing (real-world use cases)
- Data catalogs are primarily focused on data governance and lineage on big data sector
So we decided to built it 💪
Azimutt started as a schema exploration tool for databases with hundreds of tables, but now it has grown a lot:
- Design your schema using AML for a fast diagramming
- Explore your database using search everywhere, display only useful tables/columns and follow relations
- Document it with layouts for use cases, features or team scopes and table/column notes
- Analyze it to discover inconsistencies and best practices
Azimutt goal is to be your ultimate tool to understand your database.
Azimutt is built with Elm/elm-spa (editor) and Elixir/Phoenix (backend & admin).
For local development you will need to set up the environment:
- install
npm, Elm & elm-spa - install Phoenix and Elixir if needed
- install PostgreSQL with a user
postgresand passwordpostgres - install pre-commit and run
pre-commit installbefore committing - run
npm run setupto install dependencies and configure your environment
Then you can choose to launch either:
npm run ex:devfor Elixir server (frontend will still be available through compiled files)npm run elm:devfor Elm/TypeScript frontend (useful when do develop on front)npm run devfor both with live reload
Now you can visit :
localhost:4000for the main applocalhost:4000/api/v1/swaggerfor the Swagger documentationlocalhost:4000/storybookfor the Storybook
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, MAILGUN_DOMAIN, MAILGUN_API_KEY, STRIPE_API_KEY, STRIPE_WEBHOOK_SIGNING_SECRET.
npm run elm:bookto launch the Elm design system
- Install Stripe CLI and login with
stripe login - Run
stripe listen --forward-to localhost:4000/webhook/stripe - Copy your webhook signing secret to your
.env, it's look like (whsec_XXX) - Go to your Stripe dashboard to obtain your API Key and copy it into
STRIPE_API_KEYin your.envfile.
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
- Production & Staging on Clever Cloud
- Error logs with Sentry
- Design using TailwindCSS Framework
- Credo for static code analysis (automatically run with pre-commit)
The tool is available as open source under the terms of the MIT License.

