Pular para o conteúdo

case_01 · portal público · 2025

EmpreendeAfogados

Página inicial da Feira do Empreendedorismo no computador, com chamada para reservar stand.

Como uma feira de empreendedorismo passou a acontecer online, das inscrições ao mapa de stands.

Cliente
Prefeitura Municipal de Afogados da Ingazeira
Área
Secretaria de Administração / Sala do Empreendedor
Parceiros
Sebrae e CDL
Entrega
Portal web instalável (PWA) + painel administrativo

// lead

Todo ano, a Feira do Empreendedorismo de Afogados da Ingazeira reúne centenas de expositores e milhares de visitantes. Organizar tudo isso pede método e um lugar só. A gente construiu o portal que leva o atendimento da Sala do Empreendedor e toda a gestão da feira para o celular.

01/ contexto

Uma feira que movimenta a região

Afogados da Ingazeira, em Pernambuco, é referência comercial para as cidades vizinhas. A Sala do Empreendedor da Prefeitura orienta quem quer abrir, formalizar ou fazer crescer um negócio.

A Feira do Empreendedorismo, organizada com Sebrae e CDL, é a maior do gênero na região. Em 2025, chegou à 8ª edição com mais de 250 expositores e mais de 15 mil visitantes.

02/ desafio

Muita gente, muitas etapas, um só lugar

Cada edição envolve inscrever expositores, conferir dados, distribuir stands, orientar quem vai expor e informar o público. Feito à mão, isso consome a equipe e gera dúvida para todo mundo.

O objetivo era claro: o empreendedor resolve tudo pelo celular, e a equipe da Sala acompanha cada inscrição num painel.

// objetivo

Inscrever, consultar, escolher o stand e se orientar na feira, sem sair de casa.

03/ processo

De rascunho a produto no ar

  1. step_01 · wireframes

    Rascunhos primeiro.

    Mapeamos cada caminho: o do expositor, o do visitante e o da equipe. Validamos o fluxo antes de pensar em cor.

  2. step_02 · ui

    Interface para quem tem pressa.

    Telas simples, letras grandes e botões fáceis de tocar. Pensado para o celular, que é onde o empreendedor está.

  3. step_03 · código

    Do protótipo ao portal.

    Desenvolvemos o portal e o painel administrativo, testamos com a equipe e colocamos no ar a tempo da feira.

rascunho do cadastro · ilustração
Formulário de cadastro de expositor no computador, preenchido com dados fictícios e prévia do investimento.
// domínio: regras puras, iguais no navegador e no servidorexport const inscricao = z.object({  documento: cpfOuCnpj(),  telefone: z.string().min(10),  segmento: z.enum(SEGMENTOS),  stands: z.number().int().min(1).max(5),}); // o valor gravado é sempre calculado no servidorconst valor = precoDaInscricao(dados, fase);
trecho ilustrativo, baseado na arquitetura real
  • Painel econômico do portal no computador, com indicadores de empresas, MEIs e empregos do município.
  • Formulário de cadastro de expositor no celular, preenchido com dados fictícios.
  • Mapa do evento no computador: a planta da feira em maquete 3D.
  • Consulta de inscrição no celular, com o status Aguardando pagamento e o próximo passo explicado.
  • Painel administrativo com filtros e a lista de inscritos. Dados fictícios.
  • Página Instalar o app no celular, com o passo a passo para iPhone.

Telas do portal. Dados pessoais fictícios ou desfocados.

04/ decisões técnicas

Por trás da tela

Para quem gosta de detalhes: as escolhas que deixaram o portal rápido, seguro e fácil de manter.

Next.js · Supabase · PWA · Vercel

  1. 01O navegador nunca fala direto com o bancoToda leitura e escrita passa por funções no servidor. Quem abre as ferramentas do navegador não encontra nada para explorar.
    problema
    Na primeira versão, cadastro, consulta e envio de arquivos rodavam no navegador, protegidos por regras permissivas.
    decisão
    Tudo passou para edge functions no servidor; o acesso direto às tabelas foi revogado e os arquivos ficaram privados.
    por quê
    Preço, janela de stand e quem pode ver o quê ficam num único lugar confiável.
  2. 02Segurança sem senha para o expositorPara consultar a inscrição, basta o CPF ou CNPJ e os 4 últimos dígitos do telefone cadastrado.
    problema
    O CNPJ é público; consultar só com ele exporia dados de terceiros. Exigir conta e senha afastaria quem não está acostumado.
    decisão
    Documento + 4 dígitos do telefone, com bloqueio temporário após erros e a mesma resposta para documento inexistente ou telefone errado.
    por quê
    Segurança proporcional ao risco, sem atrito, e força bruta inviável.
  3. 03Dois expositores nunca ficam com o mesmo standSe duas empresas escolhem o mesmo stand no mesmo segundo, só uma leva, e a outra é orientada a escolher outro.
    problema
    Com várias janelas abertas ao mesmo tempo, duas confirmações simultâneas recebiam sucesso.
    decisão
    Chave única por edição e número do stand, e uma função transacional no banco que confere janela, quantidade e intervalo de uma vez.
    por quê
    A garantia fica no banco, não no “quem clicou primeiro”.
  4. 04Escolha de stand com hora marcadaA organização libera janelas individuais e avisa cada expositor por notificação e por WhatsApp.
    problema
    Liberar para todos ao mesmo tempo geraria disputa injusta e pico de acesso no Wi-Fi do evento.
    decisão
    Janelas por intervalo ou lista de stands, avisos por push e WhatsApp, e lembretes a cada 5 minutos enquanto a janela está aberta.
    por quê
    Ordem previsível, carga distribuída e aviso até para quem não ativou notificações.
  5. 05Rápido no pico, sem mostrar preço erradoAs páginas aguentam muita gente ao mesmo tempo e nunca exibem um valor desatualizado.
    problema
    No lançamento e na feira, muita gente abre o site junto; consultar tudo a cada visita sobrecarregaria o servidor.
    decisão
    Configurações em cache por cerca de 30 segundos, limpas na hora quando a equipe muda algo. Em falha, as vendas aparecem como encerradas.
    por quê
    O pico vira no máximo uma consulta a cada meio minuto.
  6. 06O valor é sempre calculado no servidorO formulário mostra uma prévia do investimento, mas o valor gravado vem sempre do servidor.
    problema
    Regras de CPF, CNPJ, telefone e preço duplicadas em dois lugares tendem a divergir.
    decisão
    Regras e validações numa camada de domínio, espelhadas nas funções do servidor.
    por quê
    Resposta imediata para quem preenche, sem brecha para alterar o preço no navegador.
  7. 07Feito para rede ruim e para iPhoneInstala como app, abre rápido nas visitas seguintes e tem página própria quando a internet cai.
    problema
    O público usa celular, muitas vezes no 3G ou no Wi-Fi lotado da praça, e o iPhone só entrega notificações a apps instalados.
    decisão
    Service worker próprio que guarda só o que não muda, página offline e passo a passo de instalação para cada aparelho.
    por quê
    Carregamento rápido e nenhum dado desatualizado vindo do cache.
  8. 08Proteção contra abuso, sem servidor extraTentativas repetidas são limitadas, e quem esbarra no limite recebe uma mensagem clara dizendo quanto esperar.
    problema
    Endpoints públicos podiam ser usados para descobrir documentos ou encher a fila com cadastros falsos.
    decisão
    Contadores por rota no próprio Postgres, com o IP guardado só como hash.
    por quê
    Proteção compatível com a LGPD e sem infraestrutura adicional.
  9. 09Documentos financeiros com link que expiraBoletos e comprovantes ficam guardados em área privada e só abrem por links temporários.
    problema
    Links permanentes ou uploads sem checagem são risco para documentos financeiros.
    decisão
    Arquivos privados, links assinados de curta duração e conferência do conteúdo real de cada imagem enviada.
    por quê
    Um link vazado expira sozinho, e um arquivo disfarçado não chega à equipe.
  10. 10Um painel que a equipe opera sozinhaPreços, vendas, conteúdo do portal e exportações ficam nas mãos da Sala do Empreendedor, sem depender de programador.
    problema
    Cada ajuste de preço ou número do portal exigiria um desenvolvedor.
    decisão
    Configurações, editor de conteúdo, edição de cadastros e exportações em Excel, PDF e CSV, com a autorização conferida no servidor.
    por quê
    Autonomia durante a feira, sem abrir mão do controle de acesso.

05/ números

A 8ª edição em números

Na 8ª edição, em 2025: mais de 250 expositores, mais de 15 mil visitantes, mais de 2,6 milhões de reais em negócios no evento, mais de 6,5 milhões de reais em negócios futuros e NPS 9,0.

Dados da organização da feira, 8ª edição (2025). Os resultados são do evento; o portal foi parte do caminho.

06/ selo

Nível máximo do Sebrae

A Sala do Empreendedor de Afogados da Ingazeira conquistou o Selo Diamante de Referência em Atendimento do Sebrae [ANO DO SELO], o nível máximo nacional para Salas do Empreendedor. A presença digital é um dos critérios avaliados, e o portal que desenvolvemos faz parte dessa conquista.

Visitar o site

empreendedorafdaingazeira.com.br

Sua prefeitura ou empresa tem um desafio parecido?

Carregando o site da L3M4.