Descrição do projeto
TraduzidoO coração do projeto é uma pequena API REST que a página de checkout chamará. Dado um código e o total atual do carrinho, deve responder rapidamente: o código é válido, qual desconto aplicar e por que foi rejeitado (expirado, limite esgotado, cliente errado, carrinho muito pequeno). É importante que o sistema lide com resgates concorrentes de forma segura, para que um código limitado não possa ser gasto duas vezes em uma condição de corrida, e cada resgate seja registrado para relatórios. Uma boa adição seria um painel de administração simples onde um funcionário não técnico possa criar um código, escolher uma regra, definir limites e datas, e pausar ou desativar um código rapidamente.
Peço que você se concentre especificamente em códigos de desconto. Este não é um programa de referência ou aplicativo de fidelidade com pontos, então não preciso de convites para amigos, níveis e acúmulo de saldos de pontos. O mais importante: matemática de desconto correta, validação segura sob carga e uma API que meu desenvolvedor frontend possa integrar facilmente. Documentação e alguns exemplos de solicitações seriam muito úteis.
— Geração de código: único e em lote, com prefixos arbitrários e formato legível
— Tipos de regras: porcentagem, valor fixo, BOGO, apenas primeiro pedido
— Limites: usos totais, por cliente, valor mínimo do carrinho, datas de validade
— API de validação: ponto de extremidade REST rápido retornando validade, valor do desconto e motivo
— Resgate concorrente seguro com registro completo para relatórios
— Painel de administração simples para criação, pausa e desativação de códigos