Conceitos
O framework Nerdify nasceu para atender a necessidade de um projeto grande com equipe e orçamento reduzidos. O projeto era complexo, cheio páginas, layouts, formulários, níveis permissões e formas diferentes de visualizações de dados, relatórios e muito grande, mas precisava ser entregue em um prazo mínimo e com qualidade máxima.
Foi ali que nasceu a motivação: “e se pudéssemos automatizar tudo o que é repetitivo e estrutural, e focar só no que realmente importa?”.
O resultado foi o Nerdify — um modelo de desenvolvimento que eleva a produtividade a partir de uma premissa simples: focar nos 20% que fazem a diferença.
📊 Lei de Pareto aplicada ao desenvolvimento de software
A Lei de Pareto, ou princípio 80/20, afirma que 80% dos efeitos vêm de 20% das causas. Quando aplicada ao desenvolvimento de sistemas, ela revela algo poderoso: a imensa maioria dos softwares compartilham 80% da mesma estrutura.
Componentes como formulários, filtros, autenticação, controle de permissões, buscas, paginação... São elementos que aparecem em praticamente todos os sistemas, independentemente do setor ou finalidade. Estão presentes em redes sociais como instagram, aplicativos como ifood, uber e em praticamente todo sistema que possa imaginar.
Os 20% restantes representam a regra de negócio — aquilo que dá personalidade ao software. É ali que mora o valor agregado.
O Nerdify foi desenhado para automatizar os 80% comuns, liberando o time para concentrar energia onde realmente importa: nos 20% que fazem o projeto ser único.
😅 Ninguém gosta do frontend (e tudo bem)
Diversas pesquisas — como as do Stack Overflow Developer Survey — mostram que a maioria dos desenvolvedores prefere trabalhar no backend. Isso faz sentido: é no backend onde estão os fluxos de dados, regras de negócio e decisões que movem o produto. É onde está o “cérebro” do sistema.
Com isso em mente, o Nerdify propõe uma separação clara: o frontend é construído com Angular e Bootstrap automaticamente. Não é necessário o desenvolvedor escrever nenhuma linha de HTML, CSS ou JavaScript.
O frontend é completamente controlado pelas respostas estruturadas da API gerada pelo backend. Isso além de eliminiar a necessidade de desenvolver a parte que "ninguém gosta", possibilida transformar qualquer aplicação para qualquer formato: web, mobile, desktop, etc. Sem precisar reescrever o código. Apenas executando comandos para transformar o frontend angular usando, por exemplo, soluções cross-platform como capacitor.
Além de permitir conectar seu software com qualquer outra aplicação ou API sem necessidade de construir esta conexão, apenas liberando permissões de acesso a determinados recursos. Uma vez que toda a aplicação já é uma API.
💡 Em resumo: o desenvolvedor foca no que importa: modelos, controladores e lógica de negócio enquanto o frontend se adapta automaticamente.
📐 Convenção acima de configuração
Inspirado no princípio clássico de frameworks como Rails, o Nerdify é projetado para ser mais difícil fazer errado do que certo.
🧑💻 Com o Nerdify, um desenvolvedor júnior entrega com a mesma velocidade e qualidade de um sênior, porque a base já carrega as decisões corretas.
O Nerdify supõe padrões inteligentes e evita a proliferação de decisões desnecessárias. Além disso, o framework parte de uma visão objetiva: todo software baseado em banco de dados executa por baixo ações de criar, editar, excluir e visualizar dados. Independentemente da interface, da complexidade da regra de negócio, por baixo tudo se resume a essas operações fundamentais.
🔁 Transformando ações em modelos: uma convenção poderosa
Ao desenvolver com Nerdify, um ponto chave é:
Se a ação desejada for um verbo diferente criar, editar, excluir ou visualizar, ela deve ser transformada em um substantivo
Sendo sim, você tem um novo modelo.
Exemplo:
- Ação desejada: avaliar restaurante
- Solução comum implementada seria criar uma action avaliar no controlador restaurantes:
GET /restaurantes/:id/avaliar - Solução com Nerdify:
Criar o modelo Avaliação, resultando em:GET /restaurantes/:id/avaliacoes/new
E com os controladores aninhados (Restaurantes::AvaliacoesController) herdando do Nerdify::ApplicationController, sem precisar escrever nenhuma lógica de action nos controladores, nenhuma tela, nenhum componente no frontend e nenhuma estilização css ou javascript, o Nerdify entende que a avaliação pertence a um restaurante, e automaticamente vincula o restaurant_id ao criar o registro.
Toda a regra de negocio, incluíndo validações fica encapsulada no modelo Avaliação que inclui o Nerdify::Model e destrava uma serie de vandagens.
✅ Vantagens disso:
- Uso de
fieldsets,fieldseactionsdo Nerdify::Model - Validações e lógica encapsulada no modelo
- Futuro pronto para relatórios, filtros,
reportse gráficos - Arquitetura robusta, testável e escalável
No Nerdify, tudo parte dessa base:
se encaixar no padrão, você ganha tudo de graça. Se for diferente, você ainda pode estender — mas sabendo exatamente o que está fazendo.