E-commerce · .NET·2025

Mercado Livre Seller Dashboard

17 endpoints REST · Clean Architecture · entregue e aceito

Papel
Engenheiro único: backend em Clean Architecture, frontend Blazor
Período
2025 · entregue e aceito

Resumo

Um dashboard para vendedores do Mercado Livre: conectar a conta, sincronizar anúncios, observar o que os concorrentes fazem com a Buy Box e gravar um preço sugerido de volta pela API oficial.

Arquitetura e decisões

  • Clean Architecture com a API do ML isolada atrás de um cliente Refit tipado, então as idiossincrasias do marketplace não vazam para o domínio.
  • Tokens OAuth 2.0 renovam num worker em background antes de expirar, em vez de reativamente num 401. O usuário nunca vê uma sincronização falhar porque o token envelheceu.
  • O algoritmo de sugestão de preço tem três modos explícitos em vez de uma heurística escondida, então o vendedor entende por que aquele número foi proposto antes de ser gravado.
  • A escrita passa pelo endpoint PUT oficial; a sugestão nunca é aplicada em silêncio: propor e aplicar são ações separadas.
  • 17 endpoints REST, EF Core sobre MySQL, migrations aplicadas desde o início.

Desafios

Problema: Um token de marketplace que expira no meio da sincronização corrompe a visão que o vendedor tem do próprio catálogo.

Solução: Renovar proativamente em agendamento de background e tratar a sincronização como retomável, para que um catálogo parcialmente sincronizado convirja em vez de ficar meio atualizado.

Resultados

  • 17 endpoints REST, 5 páginas Blazor, zero erros de compilação na entrega
  • OAuth 2.0 com refresh automático de token em background
  • Algoritmo de sugestão de preço com 3 modos gravando pela API oficial
  • Análise de concorrência (Buy Box) com dashboard de KPIs

Stack

Backend

.NET 8ASP.NET CoreClean ArchitectureRefit

Frontend

Blazor WebAssemblyMudBlazorRadzen Charts

Dados

MySQL 8EF CoreDocker

Tecnologias

C#.NET 8Blazor WASMEF CoreMySQL

// vamos conversar

Começar um projeto

Me conta o que você precisa. Costumo responder em até um dia.

Carregando verificação…