Todos os websites repetem o mesmo trabalho: login, dashboard, upload de ficheiros, páginas, formulários, SEO, menus, utilizadores, definições. O Elo existe para eliminar essa repetição. Não substitui o Laravel nem é mais um CMS: o programador descreve o domínio do website e continua a escrever Laravel normalmente, enquanto o Elo constrói automaticamente a infraestrutura repetitiva em torno disso.
O programador descreve o domínio através de sete conceitos públicos, Module, Resource, Blueprint, Field, Layout, Action e Repository, e o Elo constrói a interface de gestão, a API e as migrações correspondentes. Cada decisão estrutural fica registada por escrito num ADR (Architecture Decision Record) antes de qualquer linha de implementação, e cada ADR aceite é depois tratado como imutável.
É o projecto que melhor mostra a minha disciplina de arquitectura: nenhuma decisão estrutural é tomada ao sabor do código, e cada módulo só é considerado concluído depois de testado, nunca apenas assumido como funcional.
Arquitectura congelada em seis ADRs
Hierarquia, filosofia, vocabulário, relações, autorização e filtros de pesquisa estão documentados e aceites antes da implementação.
Núcleo implementado e testado
Formulários, tabelas, navegação, acções, relações e autorização por políticas já estão implementados, com testes reais via Pest.
