Introdução

O que é o Firebolt?

O Firebolt é um conjunto de ferramentas desenvolvido para acelerar o processo de criação e manutenção de fluxos de formulários multistep. É uma ferramenta fullstack javascript/typescript com compartilhamento de código para auxiliar esse cenário.

Orientado à configuração, com apenas um arquivo de esquema json, podemos definir uma experiência de formulário completa. Esse esquema json é interpretado tanto pelo back-end quanto pelo front-end.

A ideia do Firebolt não é ser um gerador de formulário, pois seguir por essa ideia poderia acabar dificultando as customizações que são feitas corriqueiramente nesses tipos de formulários, mas ser um organizador/orquestrador de todo o processo de criação e gerenciamento dos forms.

Por que usar o Firebolt?

  • Evita a reescrita de formulário similares e de código;
  • Facilita a modificação de formulários existentes, como: alterar a posição de campos e ordem dos passos;
  • Define um único padrão de formulário pra ser utilizado tanto pelo back-end quanto pelo front-ent, facilitando a criação e manutenção dos formulários;
  • Permite o versionamento dos formulários;
  • Reduz atrito entre o back-end e o front-end em relação aos endpoints, pois a o formato dos dados enviados e os endpoints utilizados é automatizado pelo Firebolt;
  • O desenvolvedor pode customizar os componentes de cada formulário (tematização) e também criar presets de configurações de campos.

Firebolt x Outras tecnologias

Firebolt React JSON Schema Form
Renderiza um formulário a partir de um JSON
Integra front-end e back-end
Cuida do formato dos dados enviados para o back-end e dos endpoints
JSON Schema minimalista
Suporte a formulários multistep com comunicação entre back-end e front-end
Suporte a diferentes temas de estilização

O uso do Firebolt é mais indicado para situações em que você precisa criar uma infraestrutura de formulários multistep, entre o back-end e o front-end (base de dados, endpoints e etc).

Estrutura

O projeto é composto principalmente por duas partes, o Client e a API.

O Client é uma biblioteca front-end que pode ser usada em qualquer aplicativo React. Ele fornece uma série de componentes que ajudam nas tarefas comuns de front-end na construção de formulários como: progressão de etapas, solicitações http, sessão do usuário e assim por diante. ele pode se conectar automaticamente com a API do firebolt, fazendo com que o desenvolvedor não precise se preocupar com endpoints, corpos de solicitação e etc.

Tanto a API quanto o Client utilizam uma biblioteca comum para realizar validações, falaremos um pouco mais sobre isso em breve.

Pacotes que compõem o Firebolt

  • Client
  • Core
  • Validadores
  • Temas