Esta ferramenta transforma seu banco de dados SQL em um backend instantaneamente (Directus)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Ok, então quantas vezes você já reconstruiu o exato mesmo backend?
00:00:04CRUD, autenticação, painel de admin, upload de arquivos.
00:00:07Na maioria das vezes, o que parece ser construção é apenas reconstrução.
00:00:10E se você pudesse apontar uma ferramenta para o seu banco SQL e ter um backend completo?
00:00:15Esse é o Directus, um painel de API e app em tempo real para gerenciar bancos SQL.
00:00:21Muitos devs estão percebendo que fizeram isso do jeito difícil o tempo todo.
00:00:25Deixe-me mostrar como tudo isso funciona em apenas alguns minutos.
00:00:30[MÚSICA]
00:00:33O maior problema de backend para nós não é a complexidade, é a repetição.
00:00:38Não estamos resolvendo novos problemas, estamos escrevendo o mesmo código repetidamente,
00:00:42e isso acaba consumindo o nosso tempo.
00:00:44O Directus elimina tudo isso.
00:00:46Ele se conecta direto ao seu banco Postgres, MySQL ou Oracle.
00:00:50Sem migrações, sem reconstruir todo o seu esquema em outro lugar.
00:00:53Ganhamos instantaneamente APIs REST e GraphQL,
00:00:57permissões a nível de campo, assinaturas em tempo real,
00:01:01fluxos e automações, manipulação de arquivos e uma UI de admin limpa.
00:01:05Agora, a parte legal é que o seu banco de dados permanece lá.
00:01:08Não é uma camada duplicada.
00:01:10Isso importa muito mais do que parece.
00:01:12Agora deixe-me mostrar.
00:01:13Se você gosta de ferramentas open-source e dicas de código para agilizar seu fluxo,
00:01:17não esqueça de se inscrever.
00:01:18Temos vídeos novos o tempo todo.
00:01:20Certo, começando do zero absoluto com uma instalação limpa do Directus,
00:01:24sem tabelas no banco, nada pré-carregado.
00:01:27Apenas uma tela em branco depois que já criei uma conta aqui.
00:01:32E em vez de conectar a algo que já existe,
00:01:34vou construir um app completo de gestão de pedidos em um minuto ou pouco mais.
00:01:39Primeiro, crio uma coleção e vou nomeá-la como "Orders", assim.
00:01:45Só isso.
00:01:45Agora o app tem um lugar para armazenar dados e podemos adicionar detalhes.
00:01:51Vou selecionar e configurar os campos que precisamos aqui,
00:01:54como cliente, data, e todas essas coisas divertidas.
00:01:58Então posso adicionar manualmente qualquer outro campo
00:02:00que acharmos necessário para algo desse tipo.
00:02:03Posso colocar nome do cliente, e-mail, produto como um dropdown,
00:02:08onde posso adicionar uma chave e um valor.
00:02:10Posso fazer isso para o valor e para o status.
00:02:13Cada campo adiciona mais detalhes sobre os dados que vamos armazenar.
00:02:16E note o que está faltando aqui.
00:02:18Bem, é o SQL.
00:02:19Não tem SQL.
00:02:20Não tem migrações.
00:02:22Não precisa trocar de aba para escrever um arquivo de esquema.
00:02:25Ele salva aqui no Directus imediatamente.
00:02:28Agora posso entrar na visualização de conteúdo e começar a adicionar pedidos.
00:02:32Posso adicionar o primeiro pedido aqui, apenas uma conta de teste.
00:02:35Vou adicionar outro.
00:02:36E então podemos adicionar um terceiro, certo?
00:02:39Temos três pedidos diferentes aqui no sistema.
00:02:42Agora tenho alguns dados reais aqui para começarmos a brincar.
00:02:45Mas agora está tudo aberto, o que significa que qualquer um pode fazer qualquer coisa.
00:02:49Então vamos consertar isso.
00:02:50Como corrigimos isso?
00:02:51Bem, com permissões.
00:02:53Vou até a função pública.
00:02:55Vou encontrar a coleção de pedidos que criamos.
00:02:58Podemos ativar a leitura.
00:03:00E vou garantir que todo o resto esteja desativado.
00:03:03Criar, atualizar, deletar.
00:03:05Tudo isso foi removido.
00:03:06Agora está mais controlado e seguro para o que queremos.
00:03:10Ok, aqui é onde começa a ficar muito legal
00:03:12porque podemos fazer automações e criar fluxos em torno disso.
00:03:16Vou aqui e vou criar um novo fluxo.
00:03:19Vou dar um nome bem simples, o que é isso?
00:03:22Vou colocar "notificar sobre novo pedido".
00:03:24Nome simples, explica o propósito.
00:03:26E vou selecionar tudo dos itens na coleção que chamamos de pedidos.
00:03:31Agora posso criar um gatilho.
00:03:33Para o gatilho, eu conecto ao momento em que um novo item é criado,
00:03:37especificamente naquela coleção de pedidos.
00:03:39Assim, toda vez que um novo pedido chegar, algo vai acontecer.
00:03:43Vou adicionar uma operação.
00:03:44Vamos enviar um e-mail.
00:03:46Ele vai escrever um assunto.
00:03:47Vou adicionar o meu e-mail a isso.
00:03:49E no corpo, vou puxar os dados do pedido.
00:03:52Sempre que um novo pedido entrar, ele enviará esses dados por e-mail.
00:03:56Agora posso salvar essa operação, salvamos o fluxo e pronto.
00:04:00Ok, agora vejam isso.
00:04:02Eu vou voltar.
00:04:03E no meu arquivo Docker Compose inicial, adicionei o Mailpit para testar isso.
00:04:07É um jeito super simples de testar essa função de envio de e-mail.
00:04:11Quando eu fizer mais um pedido, como antes, nada sofisticado,
00:04:14mas desta vez algo é diferente.
00:04:16Isso agora ativa o fluxo automaticamente e um e-mail sai com os detalhes.
00:04:20Não há lógica de backend aqui.
00:04:22Não há fiação de coisas juntas.
00:04:25Isso começou como nada, sem tabelas, sem backend, sem estrutura real.
00:04:30E em poucos minutos, é um app funcional com permissões e, sim,
00:04:33automação, que foi a parte mais legal.
00:04:35E é isso que faz o Directus parecer muito bacana.
00:04:38É quase uma combinação de lógica visual de banco com algo como N8N ou Zapier embutido,
00:04:43mas não é realmente com eles que ele compete.
00:04:45Então, o que é o Directus exatamente?
00:04:47É uma plataforma de dados open source que fica em cima do seu banco SQL.
00:04:52Ele não fica ao lado.
00:04:53Ele fica em cima dele.
00:04:55Esse modelo de "banco de dados primeiro" é o ponto principal, certo?
00:04:58Então, o que isso realmente significa?
00:04:59Bem, significa algumas coisas para nós.
00:05:01Significa que não há aprisionamento tecnológico (lock-in).
00:05:03O SQL completo continua lá e funciona com sistemas legados.
00:05:07É por isso que as pessoas o usam para backends SaaS, ferramentas internas, CMS headless,
00:05:13agentes de IA com dados controlados.
00:05:15Você tenta modernizar um sistema antigo sem reescrever tudo.
00:05:19Seu banco de dados é o motor real aqui.
00:05:21O Directus apenas fornece um painel e controles.
00:05:24À primeira vista, se você já brincou com Strapi, Payload ou Hasura,
00:05:28o Directus vai parecer similar, mas eles resolvem problemas diferentes.
00:05:33Strapi e Payload focam primeiro no código (code-first).
00:05:36Você define os esquemas no código e reconstrói sua estrutura lá.
00:05:40Sim, isso funciona, mas dá mais trabalho.
00:05:42O Directus muda algumas coisas com certos ajustes.
00:05:45Seu esquema já existe, então, em vez de recriá-lo, você apenas o conecta.
00:05:50É um fluxo de trabalho inteiramente diferente.
00:05:52Hasura é ótimo para GraphQL rápido, mas o Directus vai além disso.
00:05:58Você ganha APIs.
00:05:59Sim, nós temos isso, mas também temos workspace de admin, permissões, arquivos e automações.
00:06:05E aqui está a parte que a maioria dos devs valoriza após testar: permissões.
00:06:10Não estou falando apenas de regras simples.
00:06:12Estamos falando de controle real sem a necessidade de plugins.
00:06:15Então, se o seu problema é "preciso de um backend", você tem opções.
00:06:18Se o problema é "não quero reconstruir meu backend de novo", isso é diferente.
00:06:23Obviamente, nenhuma ferramenta é perfeita, mas esta é bem interessante.
00:06:26O que eu achei super legal?
00:06:28Bem, as permissões simplesmente funcionam.
00:06:29Isso é incrível.
00:06:30Os fluxos removem muito do trabalho repetitivo que fazemos.
00:06:32A UI é muito limpa e rápida, e é fácil de implantar com Docker.
00:06:37Além de tudo, ele escala muito bem.
00:06:39Mas com tudo isso de bom, claro, sempre existem as desvantagens.
00:06:43As trocas serão coisas como: fluxos avançados podem levar tempo, certo?
00:06:46Se você já brincou com N8N ou qualquer outro, você entende.
00:06:49A documentação nem sempre está completa.
00:06:51E se você hospedar por conta própria, precisa gerenciar a infraestrutura.
00:06:54Além disso, configurações complexas podem ficar bagunçadas localmente.
00:06:57O Directus remove um tipo muito específico de trabalho repetitivo de backend.
00:07:00Então, o Directus vale a pena?
00:07:02Para muitos de nós, provavelmente sim.
00:07:03Depende do que estamos fazendo, especialmente se você já tem dados SQL, ou se está
00:07:07cansado de reconstruir esses backends básicos várias e várias vezes, então sim,
00:07:11isso tem um valor real.
00:07:13Economiza tempo, reduz a manutenção e você mantém o controle dos dados.
00:07:17Mais uma vez, é open source.
00:07:19Nós controlamos isso.
00:07:20Quando você não usaria isso?
00:07:22Bem, se você estiver em um TypeScript estrito, tipo um monorepo gigante, provavelmente não.
00:07:26Se você não tem um banco de dados existente, provavelmente não.
00:07:29E se quiser tudo definido em código desde o início, algo como o Payload
00:07:33faz muito mais sentido aqui.
00:07:34Mas se você está pensando agora: "espera, isso pode apenas sentar em cima do meu banco?"
00:07:38Sim, pode.
00:07:39Então pode valer a pena tentar.
00:07:41Se você gosta de ferramentas open source e dicas de código como esta, inscreva-se no
00:07:45canal da Better Stack.
00:07:46Nos vemos em outro vídeo.

Key Takeaway

O Directus elimina o trabalho repetitivo de desenvolvimento ao transformar bancos de dados SQL existentes em backends completos com APIs, permissões e automações em poucos minutos.

Highlights

O Directus conecta-se diretamente a bancos de dados Postgres, MySQL ou Oracle sem necessidade de migrações ou reconstrução de esquemas.

A ferramenta gera instantaneamente APIs REST e GraphQL, permissões a nível de campo e assinaturas em tempo real a partir de tabelas existentes.

O sistema de automação permite criar fluxos como notificações de novos pedidos via e-mail sem escrever lógica de backend personalizada.

Diferente de ferramentas como Strapi ou Payload, o Directus adota uma abordagem database-first que evita o aprisionamento tecnológico (lock-in).

A arquitetura permite a modernização de sistemas legados fornecendo um painel administrativo e controles sobre o SQL original.

O uso de Docker simplifica a implantação da plataforma, que funciona como uma camada de gerenciamento sobre o banco de dados principal.

Timeline

A eliminação da redundância no desenvolvimento de backend

  • A maior parte do desenvolvimento de backend atual consiste na reconstrução repetitiva de CRUD, autenticação e painéis de admin.
  • O Directus funciona como uma camada que reside sobre o banco SQL sem duplicar dados ou exigir migrações de esquema.

A repetição de tarefas básicas consome a maior parte do tempo de desenvolvimento. Esta ferramenta resolve o problema ao se conectar a motores como Postgres e MySQL para oferecer APIs REST e GraphQL de forma imediata. O banco de dados original permanece como a fonte única da verdade, garantindo que não haja perda de performance por camadas de abstração desnecessárias.

Construção de aplicações e gerenciamento de dados sem código

  • A criação de coleções e campos no Directus gera tabelas e colunas no banco de dados sem a escrita manual de arquivos SQL.
  • A interface permite configurar tipos de dados variados como e-mails, dropdowns e datas diretamente pela UI de admin.

O processo de criação de um app de gestão de pedidos demonstra a ausência de SQL manual. Novos campos como nome do cliente, produto e status são adicionados através de uma interface visual que reflete as mudanças no banco instantaneamente. Isso elimina a necessidade de gerenciar arquivos de migração complexos ou trocar de contexto entre o código e o banco.

Controle de acesso e automação de fluxos

  • As permissões de leitura, escrita e exclusão são configuráveis de forma granular para diferentes funções de usuário.
  • O motor de fluxos integra gatilhos de eventos no banco de dados com operações externas como envio de e-mails via Mailpit.

A segurança é estabelecida através de regras que definem exatamente quem pode acessar cada coleção. Um exemplo prático é a criação de um fluxo que detecta novos itens na coleção de pedidos e dispara automaticamente um e-mail com os detalhes capturados. Essa lógica visual substitui a fiação manual de serviços de terceiros ou o desenvolvimento de funções lambda para tarefas simples.

Arquitetura database-first versus abordagens tradicionais

  • O modelo database-first evita o lock-in tecnológico e permite que sistemas legados continuem operacionais.
  • O Directus diferencia-se de Strapi e Payload por não exigir a definição de esquemas dentro do código da aplicação.

Enquanto plataformas code-first exigem que a estrutura seja definida no código e depois empurrada para o banco, o Directus faz o inverso. Ele lê o que já existe, tornando-o ideal para backends SaaS e ferramentas internas que precisam de modernização. Essa flexibilidade permite o uso de agentes de IA com dados controlados e a manutenção de sistemas SQL puros.

Vantagens, limitações e critérios de escolha

  • A facilidade de implantação com Docker e a interface limpa favorecem a escalabilidade de projetos rápidos.
  • Projetos com TypeScript estrito em monorepos gigantes ou que exigem definição total via código podem não ser o cenário ideal para a ferramenta.

A economia de tempo e a redução de manutenção são os principais benefícios para quem já possui dados em SQL. No entanto, a necessidade de gerenciar a própria infraestrutura em casos de auto-hospedagem e a documentação por vezes incompleta são pontos de atenção. A ferramenta é recomendada quando o objetivo é evitar a reescrita de backends básicos repetidamente.

Community Posts

View all posts