QRPass: Gestão de Eventos e Festas com ingressos QR Code e PIX
Find a file
2026-01-31 01:37:44 -03:00
app feat: Integrate Flask-Migrate as a Flask extension and update migration commands to use flask db. 2026-01-31 01:37:44 -03:00
migrations feat: Integrate Flask-Migrate as a Flask extension and update migration commands to use flask db. 2026-01-31 01:37:44 -03:00
.env.example feat: Update environment configuration for PostgreSQL and enhance requirements 2025-07-01 20:53:00 -03:00
.gitignore feat: Migrate party logos and QR codes to S3-compatible object storage, introducing a new storage service and updating file operations. 2026-01-30 23:51:23 -03:00
alembic.ini Função de trocar a fonte 2025-07-07 02:10:56 -03:00
manage.py Refactoring to MVC clean [Security Fix] 2026-01-30 23:15:26 -03:00
populate_db_test.py Refactoring to MVC clean [Security Fix] 2026-01-30 23:15:26 -03:00
README.md feat: Implement image compression, S3 storage, and LRU caching for party logos, updating documentation accordingly. 2026-01-31 00:46:35 -03:00
requirements.txt feat: Migrate party logos and QR codes to S3-compatible object storage, introducing a new storage service and updating file operations. 2026-01-30 23:51:23 -03:00
reset_database.sh feat: Integrate Flask-Migrate as a Flask extension and update migration commands to use flask db. 2026-01-31 01:37:44 -03:00
run.py Refactoring to MVC clean [Security Fix] 2026-01-30 23:15:26 -03:00

QRPass: A Revolução na Gestão de Eventos e Festas! 🚀

Chega de planilhas e filas! O QRPass é a solução completa e moderna para você gerenciar seus eventos, festas e convidados de forma inteligente, segura e totalmente digital. Do convite à análise pós-evento, tenha o controle na palma da sua mão.

✨ Por Que o QRPass é a Escolha Certa?

  • Simplicidade e Poder: Uma interface intuitiva que esconde um motor robusto, capaz de lidar com eventos de qualquer tamanho.
  • Experiência Sem Atritos: Convidados e organizadores desfrutam de um fluxo suave, desde a compra do ingresso até o check-in.
  • Inteligência em Tempo Real: Tome decisões baseadas em dados precisos, acompanhando o pulso do seu evento a cada segundo.
  • Design Moderno: Uma experiência visual agradável e responsiva, adaptada para qualquer dispositivo.

🌟 Funcionalidades que Você Vai Amar:

🎟️ Gestão Completa de Convidados e Ingressos

  • Listas Dinâmicas: Adicione convidados gratuitos ou gere links de pagamento personalizados para cada um.
  • Status Detalhado: Acompanhe o status de entrada (presente/ausente) e de pagamento (pago, pendente, gratuito, falhou) de cada convidado.
  • Edição Rápida: Altere dados de convidados a qualquer momento.
  • Meus Ingressos: Uma área dedicada para o usuário visualizar todos os ingressos que comprou ou foi convidado.

🛡️ QR Codes Inteligentes e Check-in Descomplicado

  • QR Codes Únicos: Cada convidado recebe um QR Code exclusivo, gerado dinamicamente com o nome do convidado e o logo da sua festa, garantindo segurança e personalização.
  • Scanner Web Integrado: Transforme qualquer smartphone ou tablet em um leitor de QR Code profissional. Sem apps para baixar, basta acessar a URL do scanner e usar o código da festa.
  • Validação Instantânea: Check-in rápido com feedback visual e sonoro, evitando fraudes e agilizando a entrada.

📊 Estatísticas e Análises Poderosas

  • Dashboard em Tempo Real: Visualize instantaneamente o total de convidados, quantos entraram, quantos faltam, e a porcentagem de comparecimento.
  • Faturamento Detalhado: Acompanhe a receita gerada pelos ingressos pagos.
  • Gráficos Interativos:
    • Gráfico de Pizza: Veja a proporção de convidados que entraram vs. não entraram.
    • Gráfico de Linha do Tempo: Analise o fluxo de check-ins por hora, com funcionalidades de zoom e arrastar para uma visão detalhada do pico de entradas.

🎨 Personalização e Identidade Visual

  • Logo do Evento: Faça upload da sua logo para personalizar os QR Codes e a página pública do evento.
  • Fontes Exclusivas: Escolha entre diversas fontes para o nome da sua festa nos convites, adicionando um toque único.
  • Página Pública do Evento: Uma URL compartilhável para sua festa, com descrição, data, local e, opcionalmente, a contagem de convidados e a opção de compra direta de ingressos.

🤝 Colaboração e Controle de Acesso

  • Múltiplos Eventos: Crie e gerencie quantas festas desejar, cada uma com suas configurações independentes.
  • Compartilhamento Seguro: Convide outros usuários para colaborar na gestão de suas festas através de um código de compartilhamento exclusivo, com controle de permissões.
  • Perfis Completos: Gerencie informações de perfil, incluindo CPF/CNPJ e telefone, essenciais para a geração de links de pagamento.

💰 Integração de Pagamentos (PIX)

  • Venda de Ingressos: Defina um preço para seus ingressos e permita que convidados paguem via PIX.
  • Links de Pagamento: Gere links de pagamento individuais para convidados específicos ou permita a compra direta pela página pública do evento.
  • Status Automatizado: O sistema atualiza automaticamente o status do pagamento via webhooks, garantindo que apenas ingressos pagos sejam validados.

📤 Exportação de Dados Flexível

  • CSV e PDF: Exporte sua lista de convidados completa para planilhas (CSV) ou relatórios detalhados em PDF, incluindo estatísticas e gráficos.

🛠️ Tecnologias Utilizadas:

  • Backend: Python 3, Flask, Flask-SQLAlchemy (PostgreSQL), Flask-Migrate, Pillow, qrcode, boto3.
  • Armazenamento: Backblaze B2 (S3-compatible) para logos e arquivos, com cache LRU em memória.
  • Frontend: HTML5, CSS3 (Tailwind CSS), JavaScript (Vanilla JS), Chart.js, html5-qrcode, Anime.js.
  • Banco de Dados: PostgreSQL (para escalabilidade e robustez).

🚀 Setup e Execução do Projeto Localmente:

Pré-requisitos:

  • Python 3.10+
  • pip (gerenciador de pacotes Python)
  • Acesso a um banco de dados PostgreSQL (pode ser local ou em nuvem).
  • Conta no Backblaze B2 com um bucket configurado (para armazenamento de imagens).

Passos para Configuração:

  1. Clone o Repositório:

    git clone https://github.com/muriloscolari/AttendanceManager.git
    cd AttendanceManager
    
  2. Crie e Ative um Ambiente Virtual:

    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    venv\Scripts\activate   # Windows
    
  3. Instale as Dependências:

    pip install -r requirements.txt
    
  4. Configure o Ambiente:

    • Crie um arquivo .env na raiz do projeto baseado no .env.example:
      SECRET_KEY=sua_chave_secreta_aqui_gerada_aleatoriamente
      FLASK_DEBUG=True
      DATABASE_URL=postgresql://user:password@host:port/database_name
      
      # API de Pagamento
      ABACATE_API_KEY=sua_chave_api_do_abacatepay
      
      # Backblaze B2 Storage
      B2_KEY_ID=seu_key_id_do_b2
      B2_APP_KEY=sua_application_key_do_b2
      B2_BUCKET_NAME=nome_do_seu_bucket
      B2_ENDPOINT_URL=https://s3.us-east-005.backblazeb2.com
      
    • Importante: A DATABASE_URL deve apontar para o seu banco de dados PostgreSQL.
    • Importante: Crie uma Application Key no Backblaze B2 (não use a Master Key).
  5. Inicialize o Banco de Dados (Alembic):

    • Execute as migrações para criar as tabelas no seu banco de dados PostgreSQL:
      flask db upgrade
      
  6. Execute a Aplicação:

    python run.py
    

    Acesse http://localhost:5000/ no seu navegador.

  7. Teste o Scanner em Dispositivos Móveis (Opcional):

    • Para testar o scanner em dispositivos reais na sua rede local ou via internet, você pode usar ferramentas como ngrok para expor seu servidor local:
      ./ngrok http 5000
      
    • Acesse a URL HTTPS gerada pelo ngrok no navegador do seu dispositivo móvel.

Feito com ❤️ por Murilo Scolari