ProductPromotion
Logo

Open.Source

made by https://0x3d.site

GitHub - azimuttapp/azimutt: Explore and optimize any database
Explore and optimize any database. Contribute to azimuttapp/azimutt development by creating an account on GitHub.
Visit Site

GitHub - azimuttapp/azimutt: Explore and optimize any database

GitHub - azimuttapp/azimutt: Explore and optimize any database

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.

Azimutt screenshot

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.

  • ERDs have a great diagram UI, but fall short when schema is growing (real-world use cases)
  • Data catalogs are focused on data governance and lineage, missing relational db knowledge
  • Database clients focus on querying with auto-completion and table/column lists, but no visual help

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:

  • Design your schema using AML for a fast diagramming
  • Explore your schema using search everywhere, display only useful tables/columns and follow relations
  • Query your data like never before, follow foreign keys and display entities in diagram
  • Document using table/column notes and tags, layouts and memos for use cases, features or team scopes
  • Analyze it to discover inconsistencies and best practices to apply

Azimutt goal is to be your ultimate tool to understand your database.

Azimutt badge

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:

Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt Explore database with Azimutt

Use Simple Icons to find other icon/color if needed or use our custom button image:

Explore database with Azimutt

More details on Azimutt documentation

Self-hosted

You can use our Docker image to easily deploy it. Here is the full guide.

Deploy on Heroku

You can use our Heroku template which includes Azimutt web app, a Postgres database, Stackhero S3 storage and Mailgun.

Deploy

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:

  • connect to Stackhero from your Heroku dashboard
  • use values of S3_ROOT_ACCESS_KEY and S3_ROOT_SECRET_KEY to log in
  • create a bucket named azimutt

Deploy on Kubernetes

Please read this guide

Local development

Azimutt is built with Elixir/Phoenix (backend & admin) and Elm/elm-spa (editor).

For local development you will need to set up the environment:

  • install pnpm, Elm & elm-spa
  • install Phoenix and Elixir if needed (use asdf)
  • install PostgreSQL, create a user postgres with password postgres and a database azimutt_dev (see DATABASE_URL in .env later)
  • install pre-commit and run pre-commit install before committing
  • copy .env.example to .env and adapt values
  • source your environment and install dependencies: source .env && npm run setup
  • you can now start the Azimutt server: source .env && npm start
  • and finally navigate to localhost:4000 🎉
  • you can login with [email protected] email & admin password

Other things:

  • API documentation is accessible at /api/v1/swagger
  • You can use pnpm --filter "azimutt-editor" run book to start Elm design system & components, and access it with localhost:4002

command semantics

We have a lot of projects with a lot of commands, here is how they are structured:

  • each project has its own commands (mostly npm but also elixir), the root project has global commands to launch them using a prefix
  • setup is a one time command to install what is required
  • install download dependencies, should be run when new ones are added
  • start launch project in dev mode
  • test allows to run tests
  • format allows to run execute code formatting
  • lint allows to run execute linters
  • build generate compilation output
  • build:docker same as build but in the docker image (paths are different 😕)
  • update bumps library versions

Development commands

  • pnpm --filter "azimutt-editor" run book to launch the Elm design system

Setup Stripe

Config

  • Install Stripe CLI and login with stripe login
  • Run stripe listen --forward-to localhost:4000/webhook/stripe
  • Copy your webhook signing secret to STRIPE_WEBHOOK_SIGNING_SECRET variable in your .env file (looks like whsec_...)
  • Go to your Stripe dashboard to obtain your API Key and copy it into STRIPE_API_KEY in your .env file (looks like: sk_test_...)

Payments

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

Stack

License

The tool is available as open source under the terms of the MIT License.

Articles
to learn more about the open-source concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Open-Source.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory