diff --git a/README.md b/README.md index 661c9c016..a1edbb06a 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,22 @@
- Next-Gen ERD: Design, Explore, Document and Analyze your database, schema and data + Next-Gen ERD: Design, Explore, Document and Analyze your database schema and data
- azimutt.app • - roadmap • - @azimuttapp + azimutt.app • + roadmap • + @azimuttapp +
++ + +
@@ -52,26 +57,26 @@ 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](./backend/priv/repo/structure.sql), you can add a badge allowing your visitors to easily explore it: ```markdown -[![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) +[![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](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) -[![explore database with Azimutt](https://img.shields.io/badge/MySQL-browse_online-gray?labelColor=4479A1&logo=mysql&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) -[![explore database with Azimutt](https://img.shields.io/badge/MariaDB-browse_online-gray?labelColor=003545&logo=mariadb&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) -[![explore database with Azimutt](https://img.shields.io/badge/Oracle-browse_online-gray?labelColor=F80000&logo=oracle&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) -[![explore database with Azimutt](https://img.shields.io/badge/SQL_Server-browse_online-gray?labelColor=0078D4&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) -[![explore database with Azimutt](https://img.shields.io/badge/SQLite-browse_online-gray?labelColor=003B57&logo=sqlite&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) -[![explore database with Azimutt](https://img.shields.io/badge/MongoDB-browse_online-gray?labelColor=47A248&logo=mongodb&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) -[![explore database with Azimutt](https://img.shields.io/badge/Couchbase-browse_online-gray?labelColor=EA2328&logo=couchbase&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) -[![explore database with Azimutt](https://img.shields.io/badge/Snowflake-browse_online-gray?labelColor=29B5E8&logo=snowflake&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) -[![explore database with Azimutt](https://img.shields.io/badge/BigQuery-browse_online-gray?labelColor=669DF6&logo=googlebigquery&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) -[![explore database with Azimutt](https://img.shields.io/badge/Apache_Hive-browse_online-gray?labelColor=FDEE21&logo=apachehive&logoColor=000&style=flat)](https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt) +[![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) +[![Explore database with Azimutt](https://img.shields.io/badge/MySQL-browse_online-gray?labelColor=4479A1&logo=mysql&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) +[![Explore database with Azimutt](https://img.shields.io/badge/MariaDB-browse_online-gray?labelColor=003545&logo=mariadb&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) +[![Explore database with Azimutt](https://img.shields.io/badge/Oracle-browse_online-gray?labelColor=F80000&logo=oracle&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) +[![Explore database with Azimutt](https://img.shields.io/badge/SQL_Server-browse_online-gray?labelColor=0078D4&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) +[![Explore database with Azimutt](https://img.shields.io/badge/SQLite-browse_online-gray?labelColor=003B57&logo=sqlite&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) +[![Explore database with Azimutt](https://img.shields.io/badge/MongoDB-browse_online-gray?labelColor=47A248&logo=mongodb&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) +[![Explore database with Azimutt](https://img.shields.io/badge/Couchbase-browse_online-gray?labelColor=EA2328&logo=couchbase&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) +[![Explore database with Azimutt](https://img.shields.io/badge/Snowflake-browse_online-gray?labelColor=29B5E8&logo=snowflake&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) +[![Explore database with Azimutt](https://img.shields.io/badge/BigQuery-browse_online-gray?labelColor=669DF6&logo=googlebigquery&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) +[![Explore database with Azimutt](https://img.shields.io/badge/Apache_Hive-browse_online-gray?labelColor=FDEE21&logo=apachehive&logoColor=000&style=flat)](https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt) Use [Simple Icons](https://simpleicons.org) to find other icon/color if needed or use our custom button image: -[![explore database with Azimutt](https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/assets/azimutt-button.png)](https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt) +[![Explore database with Azimutt](https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/assets/azimutt-button.png)](https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt) ## Self-hosted diff --git a/backend/lib/azimutt.ex b/backend/lib/azimutt.ex index aba240777..1aaceb191 100644 --- a/backend/lib/azimutt.ex +++ b/backend/lib/azimutt.ex @@ -420,7 +420,8 @@ defmodule Azimutt do children: [ %{path: ["cli"], name: "CLI"}, %{path: ["gateway"], name: "Gateway"}, - %{path: ["converters"], name: "Converters"} + %{path: ["converters"], name: "Converters"}, + %{path: ["badge"], name: "GitHub badge"} ] }, %{path: ["data-privacy"], name: "Data privacy", details: "how Azimutt keep your data safe"}, diff --git a/backend/lib/azimutt_web/templates/website/docs/badge.html.heex b/backend/lib/azimutt_web/templates/website/docs/badge.html.heex new file mode 100644 index 000000000..24fc291a8 --- /dev/null +++ b/backend/lib/azimutt_web/templates/website/docs/badge.html.heex @@ -0,0 +1,76 @@ +<%= render "docs/_header.html", conn: @conn, page: @page %> + +<%= doc_prose do %> +
+ Azimutt can load any SQL file from the URL and display its entity-relationship diagram. + Thanks to that, you can create a GitHub badge allowing your users to explore your database schema, IN ONE CLICK 🤯 +
++ Just try it: + + + +
+ ++ To use it on your own repository, there are a few simple steps: +
+Navigate to your SQL schema file and get it's *raw* url
++ For Azimutt the file is backend/priv/repo/structure.sql, + so the raw url is https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql +
+Build the Azimutt create url
+
+ The structure is https://azimutt.app/create?sql=$file_url&name=$project_name
, so Azimutt it's
+ https://azimutt.app/create?sql=https://raw.githubusercontent.com/azimuttapp/azimutt/refs/heads/main/backend/priv/repo/structure.sql&name=Azimutt
+
Create your badge with shields.io
++ You can build the ones you want. For PostgreSQL here is the suggested url: + https://img.shields.io/badge/PostgreSQL-browse_online-gray?labelColor=4169E1&logo=postgresql&logoColor=fff&style=flat. + See below for others. +
+Put everything together, displaying a link with image in your README
+
+ Here is how to do it in markdown: [![Image alt](Image url)](Link url)
, so the final result for Azimutt is:
+ [![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)
+
Depending on your database, you can use these examples:
++ <%= for {name, logo, color, logoColor} <- [ + {"PostgreSQL", "postgresql", "4169E1", "fff"}, + {"MySQL", "mysql", "4479A1", "fff"}, + {"MariaDB", "mariadb", "003545", "fff"}, + {"Oracle", "oracle", "F80000", "fff"}, + {"SQL_Server", "", "0078D4", "fff"}, + {"SQLite", "sqlite", "003B57", "fff"}, + {"MongoDB", "mongodb", "47A248", "fff"}, + {"Couchbase", "couchbase", "EA2328", "fff"}, + {"Snowflake", "snowflake", "29B5E8", "fff"}, + {"BigQuery", "googlebigquery", "669DF6", "fff"}, + {"Apache_Hive", "apachehive", "FDEE21", "000"}, + ] do %> + + + + + <% end %> +
+Some repos have adopted it, add yours if you want:
+ +<% end %> + +<%= render "docs/_footer.html", conn: @conn, page: @page, prev: @prev, next: @next %>