Sistema simples para gerenciamento de rifas online
Go to file
Clóvis Fabrício Costa 49eac62a1b Adicionado README 2025-06-18 19:42:01 -03:00
migrations timestamps 2023-06-14 18:10:17 -03:00
rifaserver Create instance directory when config doesn't exist 2025-06-18 19:08:24 -03:00
test Primeira versão do Rifalto 2023-06-14 09:20:36 -03:00
.gitignore Ignore 2025-06-18 19:08:34 -03:00
Containerfile Container com logs 2023-06-14 17:09:06 -03:00
README.md Adicionado README 2025-06-18 19:42:01 -03:00
main.py Primeira versão do Rifalto 2023-06-14 09:20:36 -03:00
requirements.txt Primeira versão do Rifalto 2023-06-14 09:20:36 -03:00
start.sh timestamps 2023-06-14 18:10:17 -03:00

README.md

Rifalto - Sistema de Rifas

Um sistema web para gerenciamento de rifas e vendas de números, desenvolvido em Flask.

Descrição

O Rifalto é uma aplicação web que permite:

  • Criação e gerenciamento de rifas
  • Venda de números por vendedores autenticados
  • Reserva de números pelos compradores
  • Controle de estoque de números disponíveis
  • Backup automático do banco de dados

Instalação

Usando Docker (Recomendado)

  1. Clone o repositório
  2. Configure o arquivo de configuração (veja seção de Configuração)
  3. Execute com Docker:
docker build -t rifalto .
docker run -p 5000:5000 -v $(pwd)/instance:/rifalto/instance rifalto

Instalação Local

  1. Clone o repositório
  2. Instale as dependências:
pip install -r requirements.txt
  1. Configure as variáveis de ambiente:
export FLASK_APP=rifaserver.app
  1. Execute a aplicação:
./start.sh

Configuração

Arquivo de Configuração

Crie um arquivo instance/config.json na raiz do projeto com as seguintes configurações:

{
  "SECRET_KEY": "sua-chave-secreta-aqui",
  "REDIRECT_ROOT_URL": "https://seu-site.com"
}

Parâmetros de configuração:

  • SECRET_KEY: Chave secreta para sessões Flask (será gerada automaticamente se não fornecida)
  • REDIRECT_ROOT_URL: URL para redirecionamento da página raiz (opcional)

Variáveis de Ambiente

Você também pode configurar usando variáveis de ambiente com prefixo FLASK_:

export FLASK_SECRET_KEY="sua-chave-secreta"
export FLASK_REDIRECT_ROOT_URL="https://seu-site.com"

Comandos CLI

Criar Vendedor

flask create-seller <username> <password>

Criar Rifa

flask cria-rifa "<descrição da rifa>"

Alterar Senha

flask muda-senha <usuario> <nova_senha>

Estrutura do Banco de Dados

O sistema usa SQLite por padrão e cria automaticamente as seguintes tabelas:

  • sellers: Vendedores do sistema
  • purchases: Compras/vendas realizadas
  • raffles: Rifas disponíveis
  • tickets: Números reservados

Backup

O sistema realiza backup automático do banco de dados a cada hora, salvando os arquivos na pasta instance/backup/.

Desenvolvimento

Executar Testes

pytest test/

Migrações do Banco

flask db upgrade

Estrutura de Arquivos

rifalto/
├── rifaserver/           # Código principal da aplicação
│   ├── app.py           # Aplicação Flask principal
│   ├── models.py        # Modelos do banco de dados
│   ├── templates/       # Templates HTML
│   └── static/          # Arquivos estáticos (CSS, JS)
├── migrations/          # Migrações do banco de dados
├── test/               # Testes automatizados
├── instance/           # Arquivos de configuração e dados
│   ├── config.json     # Configuração da aplicação
│   ├── raffle.db       # Banco de dados SQLite
│   └── backup/         # Backups automáticos
├── requirements.txt    # Dependências Python
├── Containerfile      # Configuração Docker
└── start.sh           # Script de inicialização

Licença

[Adicione informações de licença aqui]