Repository navigation
Release v1.0.0 - Sinatra Mini SaaS
🎉 Lançamento Inicial - Sinatra Mini SaaS
Sistema SaaS simplificado para gestão de vendas de múltiplas lojas, com foco em desempenho, escalabilidade e eficiência de memória.
✨ Features Principais
📊 APIs Analíticas
- Exportação CSV de Vendas Diárias - Streaming para suportar 100k+ registros
- Maior Intervalo Sem Vendas - Algoritmo O(N) linear
- Dia com Menor Venda - Com suporte a timezones
- Média Semanal - Agrupada por dia da semana (Seg-Dom)
⚡ Otimizações de Performance
- Índices compostos
(loja_id, data_pedido) - Projeções JPA (70% menos dados trafegados)
- Streaming com
@QueryHints(fetchSize=500) - Algoritmos lineares O(N) vs quadráticos O(N²)
🧪 Qualidade e Testes
- 53 testes (9 unit + 27 integration + 16 validation + 1 performance)
- 98.11% de aprovação (52/53 passando)
- 70-75% cobertura de código
- Status QA: ✅ APROVADO PARA PRODUÇÃO
🏗️ Stack Tecnológica
- Java 17 (LTS)
- Spring Boot 3.2.12
- H2 Database (in-memory)
- Maven
- JPA/Hibernate
📚 Documentação Completa
- CHANGELOG.md - Histórico detalhado de mudanças
- README.md - Guia de uso e APIs
- QA Test Report - Relatório de testes
- Stories: 1.1, 2.1, 2.2, 2.3, 2.4
🚀 Como Usar
git clone https://github.com/evslopes/sinatra-mini.git
cd sinatra-mini/sinatra-mini
mvn clean install
mvn spring-boot:runEndpoints disponíveis:
GET /pedidos/{lojaId}/reports/daily-sales.csvGET /pedidos/{lojaId}/reports/longest-no-sales?start={date}&end={date}GET /pedidos/{lojaId}/reports/min-day-sales?start={date}&end={date}&zoneId={timezone}GET /pedidos/{lojaId}/reports/weekly-average?start={date}&end={date}&zoneId={timezone}
Console H2: http://localhost:8080/h2-console
Desenvolvido por: Elvis Herllain
Versão: 1.0.0
Data: 20/01/2026