MB Academy

Integração Final do Front-end

Valide o MB Finanças contra o contrato e prove que sua interface pode trocar de implementação sem ser reescrita.

Nesta etapa você fará duas execuções da mesma aplicação: uma em modo demonstração e outra contra a API HTTP de referência. O comportamento visível deve ser equivalente.

1. Centralize a configuração

Valide a variável na inicialização e nunca espalhe URLs pelo código:

export const config = {
  apiUrl: import.meta.env.VITE_API_URL ?? "http://localhost:3333",
  demoMode: import.meta.env.VITE_DEMO_MODE === "true",
};

Documente .env.example, sem tokens ou senhas reais. O token de acesso permanece em memória; ao recarregar, a pessoa entra novamente. Persistência de sessão segura será aprofundada em outro nível.

2. Valide o contrato por operação

Para cada chamada, confronte método, rota, query, corpo, status e resposta com o OpenAPI:

IntençãoOperaçãoVerificação principal
Criar contaPOST /auth/registertratar 409 sem apagar o formulário
EntrarPOST /auth/loginarmazenar apenas accessToken e user
Validar sessãoGET /meredirecionar em 401
ListarGET /transactionsler { data, meta }
CriarPOST /transactionsenviar centavos como inteiro
EditarPATCH /transactions/:idenviar somente campos alterados
RemoverDELETE /transactions/:idaceitar corpo vazio com 204
ResumirGET /summarynão derivar de uma página incompleta

Crie uma classe ApiError contendo statusCode, code, message e fieldErrors. A interface decide como apresentar o erro; o cliente HTTP apenas preserva a informação.

3. Rode os dois modos

Primeiro execute a suíte com MSW. Depois desligue os mocks, inicie o kit local e rode:

VITE_API_URL=http://localhost:3333 pnpm dev

Use duas contas. Crie dados diferentes em cada uma e confirme que não há vazamento. Altere filtros e navegue entre páginas. Interrompa o servidor, tente salvar e confirme que o texto digitado continua disponível. Reinicie e tente novamente.

4. Prepare a troca por outra API

Peça a URL local de um projeto da trilha back-end ou use a sua própria API, se estiver fazendo as duas trilhas. Troque apenas VITE_API_URL. Se precisar alterar componentes, tipos ou criar condicionais por servidor, registre a divergência e corrija primeiro quem não cumpre o contrato.

Critério de conclusão

O front passa nesta etapa quando cadastro, autenticação, CRUD, filtros, paginação e resumo funcionam com mocks e com uma API real, mudando somente configuração. Faça o commit e marque sprint-6-integration antes da auditoria.