A plataforma de publicação para quem constrói.The publishing platform for people who build.
Levante é uma engine de publicação headless em .NET. API-first, núcleo orientado a eventos, self-hostable. Seu conteúdo, seu domínio, seu stack.Levante is a headless .NET publishing engine. API-first, event-driven core, self-hostable. Your content, your domain, your stack.
// da pedra bruta à pedra polida
docker run -p 8080:8080 ghcr.io/michel-az-de/levante-api:latest
Tudo que uma publicação séria precisa, nada que atrapalhe.Everything a serious publication needs, nothing in the way.
Construído como produto, não como template. Cada peça é desenhada pra durar e pra ser sua.Built as a product, not a template. Every piece designed to last and to be yours.
Editor calmoCalm editor
WYSIWYG que some quando você escreve e aparece quando precisa. Sem barra de ferramentas no caminho.WYSIWYG that disappears while you write and shows up when you need it. No toolbar in the way.
API-firstAPI-first
Content API documentada em OpenAPI. Gere tipos, consuma de qualquer front-end. Headless de verdade.Content API documented in OpenAPI. Generate types, consume from any front-end. Truly headless.
Núcleo de eventosEvent core
Outbox transacional. Publicou um artigo, um evento sai pela fila e alimenta sua notificação. Nada se perde.Transactional outbox. Publish an article, an event leaves through the queue and feeds your notifications. Nothing is lost.
Clean ArchitectureClean Architecture
DDD, CQRS, camadas honestas. Código que você consegue ler, testar e estender sem medo.DDD, CQRS, honest layers. Code you can read, test and extend without fear.
SEO e i18nSEO and i18n
Pronto pra SSG/ISR: sitemap, JSON-LD, RSS e múltiplos idiomas na origem do conteúdo.Ready for SSG/ISR: sitemap, JSON-LD, RSS and multiple languages at the content source.
Privacidade por padrãoPrivacy by default
Consentimento, anonimização de IP e retenção no núcleo. LGPD não é plugin, é fundação.Consent, IP anonymization and retention in the core. Privacy is not a plugin, it's foundation.
A engine publica. Seu site decide como aparecer.The engine publishes. Your site decides how it looks.
Levante não te prende a um tema. Ele serve o conteúdo por API e você monta o front-end que quiser.Levante doesn't lock you into a theme. It serves content via API and you build whatever front-end you want.
É assim que o site do Felipe funciona: um front-end Next.js consumindo a API do Levante. This is how Felipe's site works: a Next.js front-end consuming the Levante API. ver em produção →see it live →
Orientado a eventos, do jeito certo.Event-driven, done right.
O estado e o evento são gravados na mesma transação. Um relay observa o outbox e publica na fila. A API nunca chama notificação direto.State and event are written in the same transaction. A relay watches the outbox and publishes to the queue. The API never calls notifications directly.
- Atomicidade:Atomicity: ou estado e evento entram juntos, ou nenhumstate and event commit together, or neither
- Desacoplamento:Decoupling: a publicação não conhece quem entregapublishing doesn't know who delivers
- Resiliência:Resilience: dead letter e reprocessamento na filadead letter and reprocessing on the queue
// publicar grava artigo + evento juntos public async Task<Result> Handle(PublicarArtigo cmd) { artigo.Publicar(); await _repo.SalvarAsync(artigo); await _outbox.EscreverAsync( new ArtigoPublicado(artigo.Id)); // 1 transação. relay → fila → entrega return Result.Ok(); }
Aberto, e vivo.Open, and alive.
O repositório, as issues e os últimos commits, direto do GitHub. Levante é mantido à vista de todos.The repository, the issues and the latest commits, straight from GitHub. Levante is maintained in the open.
Plataforma pessoal e portfólio técnico. .NET (Clean Arch, DDD, CQRS) + Next.js + MongoDB. Da pedra bruta à pedra polida.
Quem mantém o Levante.Who maintains Levante.
Feito por Felipe Azevedo.Built by Felipe Azevedo.
Arquiteto de software com quinze anos em .NET e Azure, a maior parte em sistemas bancários e financeiros de missão crítica.Software architect with fifteen years in .NET and Azure, mostly in mission-critical banking and financial systems.
Cada decisão do Levante, do outbox transacional à Content API, vem de quem já colocou sistemas assim em produção, onde não dá pra errar. É a mesma engenharia que eu levo pra um squad sênior.Every Levante decision, from the transactional outbox to the Content API, comes from someone who has shipped systems like this to production, where you can't get it wrong. The same engineering I bring to a senior squad.
Open source. Self-hostable. Seu.Open source. Self-hostable. Yours.
Código aberto sob Apache-2.0. Faça fork, rode no seu servidor, leia cada linha. Se este projeto sumir amanhã, o seu site continua de pé.Open source under Apache-2.0. Fork it, run it on your server, read every line. If this project disappears tomorrow, your site stays up.