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
postgres
and passwordpostgres
- install pre-commit and run
pre-commit install
before committing - run
npm run setup
to install dependencies and configure your environment
Then you can choose to launch either:
npm run ex:dev
for Elixir server (frontend will still be available through compiled files)npm run elm:dev
for Elm/TypeScript frontend (useful when do develop on front)npm run dev
for both with live reload
Now you can visit :
localhost:4000
for the main applocalhost:4000/api/v1/swagger
for the Swagger documentationlocalhost:4000/storybook
for the Storybook
GITHUB_CLIENT_ID
, GITHUB_CLIENT_SECRET
, MAILGUN_DOMAIN
, MAILGUN_API_KEY
, STRIPE_API_KEY
, STRIPE_WEBHOOK_SIGNING_SECRET
.
npm run elm:book
to 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_KEY
in your.env
file.
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.