open source · .net 10 · headless

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

Apache-2.0 licençalicense.NET 10 · Minimal APIself-host ou gerenciadoor managed
docker run -p 8080:8080 ghcr.io/michel-az-de/levante-api:latest
RecursosFeatures

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.

HeadlessHeadless

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.

EditorEditor
admin
Levante
.NET · engine
Content API
OpenAPI
Seu front-endYour front-end
Next.js · React
núcleo de eventosevent core
Outbox
Mongo
FilaQueue
RabbitMQ
Sua notificaçãoYour notifications
email · push

É 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 →

ArquiteturaArchitecture

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();
}
O autorThe author

Quem mantém o Levante.Who maintains Levante.

FA
O autorThe author

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.

Apache-2.0licença livrefree license0%de taxafees100%seu conteúdoyour content