Uma aplicação web moderna e elegante para Amigo Secreto construída com Django, apresentando acompanhamento em tempo real dos participantes e revelação segura do amigo secreto.
- 🎯 Criação fácil de eventos com múltiplos participantes
- 🔒 Geração segura de senha para cada participante
- 🎲 Sorteio automático de amigos secretos
- 📊 Acompanhamento em tempo real de quem já viu seu amigo secreto
- 🌐 Interface limpa e responsiva
- 🛡️ Identificação de eventos baseada em UUID para maior segurança
A aplicação segue a arquitetura MVT (Model-View-Template) do Django:
-
Models: Gerencia a estrutura de dados e lógica de negócio
-
SecretFriendEvent
: Controla a criação de eventos e lógica do sorteio
-
Participant
: Gerencia informações dos participantes e revelação do amigo secreto
-
Views: Processa requisições do usuário e retorna respostas
-
- Views baseadas em classes seguindo as melhores práticas do Django
-
- Tratamento de formulários para criação de eventos e gestão de participantes
-
Templates: Renderiza a interface do usuário
-
- Design responsivo utilizando TailwindCSS
-
- Componentes modernos de UI e transições
- Clone o repositório:
git clone https://github.com/iurijw/AmigoSecretoApp.git
cd AmigoSecretoApp
- Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate # No Windows use: venv\Scripts\activate
- Instale as dependências:
pip install -r requirements.txt
- Execute as migrações:
python manage.py migrate
- Inicie o servidor de desenvolvimento:
python manage.py runserver
- Entre em http://127.0.0.1:8000/ para acessar a interface web.
- Crie um Evento
- Dê um título ao seu evento
- Adicione os participantes (um por linha)
- O sistema gera automaticamente senhas seguras
- Compartilhe o Acesso
- Cada participante recebe uma senha única
- Compartilhe o ID do evento e as senhas individuais de forma segura
- Acompanhe o Progresso
- Monitore quem já viu seu amigo secreto
- Atualizações em tempo real do status
- Identificação de eventos baseada em UUID
- Geração segura de senhas
- Controle de acesso individual
- Proteção contra auto-atribuição no sorteio
Este projeto foi criado com o objetivo de:
- Praticar desenvolvimento web com Django
- Implementar boas práticas de programação
- Estudar conceitos de segurança web
- Python 3.x
- Django 4.x
Criado com ❤️ por iurijw