Hello

Bonjour

Hola

Ciao

你好

こんにちは

Привет

Guten Tag

Olá

OTB Aprovações

Menu

OTB Aprovações

Out Of The Box · Portal de aprovação de conteúdo

2026
Visão geral

Um portal para a agência e seus clientes criarem, revisarem e aprovarem conteúdo, com acesso por perfil, upload de mídia e notificações por e-mail.

Função e stack

Desenvolvedor full stack

Next.js, TypeScript, PostgreSQL, Drizzle, S3

O portal de aprovação

O OTB Aprovações é um portal privado de 2026 para a agência Out Of The Box e seus clientes criarem, revisarem e aprovarem conteúdo. Ele substitui um processo de revisão disperso por uma sequência definida, do rascunho e do envio de versões até a decisão do cliente e a publicação.

Construí a aplicação full stack com Next.js, TypeScript, PostgreSQL e Drizzle. Os administradores da agência gerenciam todos os clientes e artes, enquanto cada conta de cliente vê apenas o próprio conteúdo e não acessa rascunhos nem itens arquivados.

Painel da agência com os itens que precisam de atenção
Versões e decisões

Implementei o fluxo para os administradores cadastrarem clientes, criarem registros de artes e enviarem versões para revisão. Os clientes podem aprovar, reprovar ou pedir ajustes, com comentário obrigatório na reprovação e nos pedidos de ajuste; os administradores podem então enviar uma nova versão e repetir a revisão.

Depois da aprovação, o administrador marca a arte como publicada e pode anexar o link da publicação. A autenticação e a autorização ficam na camada de servidor, e os serviços de e-mail avisam o cliente quando um conteúdo está pronto para decisão.

Prévia do perfil do Instagram de um cliente
Arquitetura da aplicação

O App Router contém rotas, layouts, páginas e server actions, enquanto os componentes de interface compartilhados ficam separados das camadas de domínio e de casos de uso do servidor. O schema e as migrações do PostgreSQL usam Drizzle, e o armazenamento de mídia é exposto por uma integração S3 que usa o RustFS localmente ou o Cloudflare R2 em produção.

O ambiente local roda PostgreSQL, RustFS e Mailpit com Docker Compose, com bancos e buckets separados para desenvolvimento, testes de integração e testes de ponta a ponta. Os testes unitários rodam sem containers, os de integração reiniciam o schema do banco e o armazenamento, e o Playwright exercita a aplicação completa no próprio ambiente.

Prévia do feed do cliente no celular
Revisão de arte no celular
Carrossel aguardando aprovação
Ele substitui um processo de revisão disperso por uma sequência definida, do rascunho à decisão do cliente e à publicação.