← EntregáveisBaixar em PDF

Plano de evolução tecnológica

Zum, a feira passa na sua porta · Equipe Beezes · Desafio ELI Agro 2026 · versão de 16/10/2026

1 · Hoje2 · Próximos 3 a 6 meses3 · 6 a 18 meses4 · Arquitetura5 · Custos6 · Riscos

Em uma frase: o Zum liga quem compra a quem vende hortifruti, na porta do morador ou no ponto da feira, com pedido antecipado e aviso de que o vendedor está chegando. O plano abaixo diz o que já roda, o que vem depois e o que precisamos para chegar lá.

1 · Estado atual (outubro de 2026)

O protótipo está em produção e é usado em teste por moradores e vendedores. Um único app, com dois perfis, para Android (APK) e iPhone (PWA).

CamadaO que existe
AppFlutter (Dart), uma base de código para Android e web. Login por WhatsApp, abas por perfil, mapas, pedidos, rota, números do vendedor. PWA com service worker para abrir com sinal fraco.
APINestJS (TypeScript) + Prisma, REST, validação por DTO, módulos por domínio: usuários, vendedores, produtos, paradas de rota, pedidos, mapas e acompanhamento.
DadosPostgreSQL. Pedidos idempotentes (reenvio em rede ruim não duplica), valores em centavos, quantidades fracionadas (0,5 kg).
MapasGoogle Maps no app (Android e web). Geocodificação e rota otimizada pela API, atrás de interfaces, com cache e limite de uso por usuário.
AvisosWhatsApp (Evolution API) com SMS como reserva. Aviso uma única vez quando o vendedor chega perto do endereço.
Entrega contínuaGitHub Actions: análise, testes, imagem Docker e deploy automático com verificação de saúde e volta atrás se falhar. Segredos no Doppler.
QualidadeTestes automatizados no back (133) e no app (153), mais teste manual em celular real.

Decisões de projeto que seguem valendo

2 · Próximos 3 a 6 meses (v1.0)

ItemPor queComo
Ponto de venda e retiradaA pesquisa de 15/10 com vendedores de banca da CEASA e do Centro Administrativo mostrou demanda por reserva e organização de pedidos, sem rota.Novo tipo de parada (“ponto”) com local, dias e horário; pedido com escolha entre receber em casa ou retirar; status “pronto para retirar”; aviso “estou no ponto”. Migração aditiva, sem quebrar o que existe.
Aviso por push (Android)Hoje o aviso depende do WhatsApp.Firebase Cloud Messaging; WhatsApp continua como reserva.
Modo offlineVendedor trabalha com sinal ruim.Guardar a lista do dia e a fila de ações no aparelho; sincronizar com idempotência.
Avaliação do vendedorConfiança do morador.Um toque após a entrega; média no perfil.
Pedido recorrentePrevisibilidade de demanda para o vendedor.“Repetir toda semana” a partir de um pedido feito.
ObservabilidadeAchar falhas antes do usuário.Logs estruturados, alertas de saúde, backup e restauração testados do banco.
Ainda não implementado: o ponto de venda e a retirada estão decididos e planejados; a implementação começa depois do demoday. A amostra da pesquisa é pequena (6 respostas, todas da CEASA), por isso validaremos com vendedores do Centro Administrativo antes de construir.

3 · De 6 a 18 meses (escala)

4 · Arquitetura alvo e o que muda em cada fase

HOJE (monólito modular)
 App Flutter ──► API NestJS ──► PostgreSQL
                    │
                    ├─► Google Maps (geocodificação e rotas)
                    └─► Evolution API ──► WhatsApp

v1.0 (+ avisos e offline)
 App ──► API ──► PostgreSQL
          ├─► fila de mensagens (WhatsApp, push FCM, SMS)
          ├─► armazenamento de imagens de produtos
          └─► Google Maps

ESCALA (+ pagamentos e painéis)
 App ──► API (várias réplicas) ──► PostgreSQL (réplica de leitura)
          ├─► serviço de pagamentos (Pix)
          ├─► painéis (consultas agregadas)
          └─► WhatsApp Business Platform (oficial)

5 · Custos por fase (estimativas a validar no piloto)

FaseInfraTerceirosObservação
Hoje (piloto)Servidor já existente da equipe, sem custo adicional relevanteGoogle Maps dentro do nível gratuito com teto de uso e alerta de orçamento; WhatsApp por instância própriaDomínio e certificados gratuitos
v1.0Servidor dedicado para API e banco, com backup (ordem de algumas centenas de reais por mês)Push gratuito; mensagens oficiais do WhatsApp cobradas por conversa; Maps conforme usoCobrar taxa de conveniência cobre este custo com poucas centenas de pedidos
EscalaRéplicas e banco gerenciadoTaxas de Pix e do WhatsApp oficialDepende do volume; medir custo por pedido desde já

Todos os valores acima são estimativas de ordem de grandeza. O piloto serve para medir o custo real por pedido antes de decidir preço.

6 · Riscos técnicos e como reduzi-los

RiscoImpactoMitigação
WhatsApp pela Evolution API não é oficial: pode bloquear o númeroCódigo de login e avisos paramSMS como reserva (interface pronta), push FCM em v1.0 e migração para a API oficial do WhatsApp na escala
Servidor e banco em um único lugarIndisponibilidade totalMonitoramento, alertas de disco e saúde, backup testado, deploy com volta automática (já existe)
Custo do Google Maps crescer com o usoCobrança inesperadaChaves restritas, cota diária, alerta de orçamento, cache de geocodificação e estimativa local quando a rota falha
Internet ruim no campoPedidos perdidos ou duplicadosIdempotência (já existe) e modo offline com fila
Privacidade da localizaçãoExposição de endereço do vendedorPosição ao vivo só para quem tem pedido a caminho; região aproximada nas listas; opção de parar de compartilhar
Baixa familiaridade com appAbandonoFluxos curtos, texto simples, testes com usuários reais em cada versão
Equipe pequenaRitmo e continuidadeTestes automatizados, documentação viva, deploy automático e padrões de código escritos

Código-fonte e documentação ficam em repositórios privados da equipe e podem ser mostrados à banca.