Pular para o conteúdo principal
Voltar aos projetos

Full Stack Application

Rifa Legal

Experiência web responsiva com seleção de números, envio de comprovantes PIX e uma área administrativa para controlar todo o ciclo da rifa.

Página de uma rifa publicada no Rifa Legal com resumo, prêmios e disponibilidade

01

Contexto

A organização de rifas online exige uma visão clara de prêmios, participantes, números e pagamentos.

02

Problema

Controles manuais tornam difícil manter a disponibilidade dos números e confirmar pagamentos sem inconsistências.

03

Solução

Uma aplicação full stack que centraliza a experiência do participante e as operações administrativas da rifa.

Arquitetura

Fluxos separados mantêm captura, processamento, persistência e experiência web com responsabilidades claras.

Fluxo principal

  1. Usuário
  2. React
  3. REST API
  4. Fastify
  5. Prisma
  6. PostgreSQL

Infraestrutura

  1. Vercel / Frontend
  2. Railway / Backend
  3. Supabase / Dados + Storage

Integrações

  • Vercel
  • Railway
  • Supabase

Funcionalidades

  • Consulta de prêmios
  • Seleção e reserva de números
  • Envio de comprovantes PIX
  • Autenticação administrativa
  • Gerenciamento de participantes
  • Confirmação de pagamentos
  • Execução do sorteio
  • Definição do ganhador

Minha participação

  • Desenvolvimento do frontend responsivo e dos fluxos de participação.
  • Construção da API REST, autenticação e regras de negócio.
  • Modelagem relacional, migrations e estados dos números.
  • Integração com PostgreSQL e Supabase Storage.
  • Tratamento global de erros e validação dos dados.
  • Publicação do frontend e backend em ambientes separados.

Tecnologias

  • React
  • TypeScript
  • Vite
  • Node.js
  • Fastify
  • Prisma
  • PostgreSQL
  • Supabase
  • JWT
  • TanStack Query
  • React Hook Form
  • Zod

Desafios

  • Manter a disponibilidade dos números consistente.
  • Organizar o fluxo manual de confirmação de pagamentos.

Decisões técnicas

  • Separar frontend e API para permitir evolução independente.
  • Validar entradas com Zod na borda da aplicação.
  • Representar o ciclo dos números com estados explícitos.
  • Usar Prisma e migrations para manter a evolução do banco rastreável.

Aprendizados

  • Modelagem de fluxos transacionais e estados concorrentes.
  • Integração entre frontend, API, banco de dados e storage.
  • Organização de experiências distintas para participantes e administradores.

Produto em produção

Conheça o Rifa Legal

Explore a experiência publicada e veja como a solução apresenta seus recursos para usuários reais.

Abrir Rifa Legal