|
|
||
|---|---|---|
| migrations | ||
| rifaserver | ||
| test | ||
| .gitignore | ||
| Containerfile | ||
| README.md | ||
| main.py | ||
| requirements.txt | ||
| start.sh | ||
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)
- Clone o repositório
- Configure o arquivo de configuração (veja seção de Configuração)
- Execute com Docker:
docker build -t rifalto .
docker run -p 5000:5000 -v $(pwd)/instance:/rifalto/instance rifalto
Instalação Local
- Clone o repositório
- Instale as dependências:
pip install -r requirements.txt
- Configure as variáveis de ambiente:
export FLASK_APP=rifaserver.app
- 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 sistemapurchases: Compras/vendas realizadasraffles: Rifas disponíveistickets: 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]