Todos os projetos
Plataforma · Turismo Ferroviário

ABPF

Plataforma full-stack para a Associação Brasileira de Preservação Ferroviária: venda de ingressos com alocação automática de assentos, pagamentos, bilhetes em PDF com QR Code e excursões escolares.

ABPF é a plataforma de gestão de passeios de trem turístico da Associação Brasileira de Preservação Ferroviária. Cobre o ciclo completo: criação e configuração de passeios, venda de ingressos, processamento de pagamentos, emissão de bilhetes em PDF com QR Code, gestão de excursões escolares e check-in via app mobile.

É um monorepo Turborepo com três aplicações — web (Next.js 16, dashboard admin + portal público), native (Expo/React Native para operadores e validadores) e worker (Bun + BullMQ para tarefas assíncronas) — e oito pacotes compartilhados, com uma API oRPC de cerca de 30 routers no centro do sistema.

O núcleo técnico é o serviço de alocação de assentos, que aloca automaticamente passageiros em assentos contíguos respeitando blocos exclusivos (SeatGroup) e restrições de tipo de ingresso por vagão. Pagamentos rodam pela Cielo (cartão, PIX e boleto) com status sincronizado em tempo real via SSE, e bilhetes com QR Code assinado por HMAC são validados offline no check-in do app mobile.

Desafios técnicos

  • –Algoritmo de alocação de assentos contíguos com restrições aninhadas (SeatGroup → tipo de ingresso → vagão) sem conflito entre passageiros
  • –Sincronização de status de pagamento em tempo real entre webhook da Cielo, workers e clientes via SSE
  • –Geração de QR Code assinado com HMAC, validado offline no app mobile durante o check-in

O que aprendi

  • →Modelagem de domínio complexo em Prisma multi-arquivo, com soft-delete e filtragem automática via middleware
  • →Arquitetura de monorepo com oRPC compartilhando tipos de ponta a ponta entre web, mobile e workers

Arquitetura

Tecnologias

Next.js 16ExpooRPCPrisma 7BullMQCieloBetter-AuthTurborepo
Kaptha Agents