Sistema de gerenciamento de sorteio desenvolvido com Vite, React, TypeScript e Supabase.
- Landing page com informações do prêmio e contador regressivo
- Sistema de cadastro de participantes com validação de códigos
- Painel administrativo para gerenciamento de participantes
- Geração de códigos únicos para distribuição
- Exportação de dados em CSV
- Sistema de sorteio aleatório
- Interface responsiva e moderna
- Node.js 14+
- NPM ou Yarn
- Conta no Supabase
- Crie uma conta no Supabase
- Crie um novo projeto
- Execute os seguintes comandos SQL para criar as tabelas necessárias:
-- Participants table
create table participants (
id bigint primary key generated always as identity,
code text not null unique,
full_name text not null,
email text not null,
phone text,
instagram text,
created_at timestamp with time zone default timezone('utc'::text, now()) not null
);
-- Raffle codes table
create table raffle_codes (
id bigint primary key generated always as identity,
code text not null unique,
used boolean default false,
created_at timestamp with time zone default timezone('utc'::text, now()) not null
);
-- Winners table
create table winners (
id bigint primary key generated always as identity,
participant_id bigint references participants(id),
created_at timestamp with time zone default timezone('utc'::text, now()) not null
);- Copie as credenciais do projeto (URL e Anon Key)
- Clone o repositório:
git clone [url-do-repositorio]
cd [nome-do-repositorio]- Instale as dependências:
npm install- Configure as variáveis de ambiente:
- Copie o arquivo
.env.examplepara.env - Preencha as variáveis com suas credenciais do Supabase:
VITE_SUPABASE_URL=sua_url_do_supabase
VITE_SUPABASE_ANON_KEY=sua_chave_anon_do_supabase
- Inicie o servidor de desenvolvimento:
npm run dev- Exibe informações sobre o prêmio
- Mostra o tempo restante para o sorteio
- Permite acesso ao formulário de cadastro
- Formulário para inserção do código do sorteio
- Validação em tempo real dos dados
- Confirmação de cadastro com número de participação
- Acesso protegido por autenticação
- Lista de todos os participantes
- Filtros de busca
- Exportação de dados
- Geração de códigos para distribuição
- Sistema de sorteio
src/
├── components/ # Componentes reutilizáveis
├── pages/ # Páginas da aplicação
├── lib/ # Configurações e utilitários
├── utils/ # Funções auxiliares
└── types/ # Definições de tipos TypeScript
npm run dev: Inicia o servidor de desenvolvimentonpm run build: Gera a versão de produçãonpm run preview: Visualiza a versão de produção localmente
- Autenticação gerenciada pelo Supabase
- Validação de códigos únicos
- Proteção contra duplicidade de participação
- Dados sensíveis armazenados de forma segura
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Crie um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.