Sistema web desenvolvido em Python usando Streamlit para gerenciamento de uma padaria, com funcionalidades para clientes e funcionários/proprietários.
- Python 3.8+
- Streamlit 1.41.1
- PostgreSQL (Neon.tech ou outro host gratuito)
- SQLAlchemy
- Pandas
- MercadoPago API
- RabbitMQ (pika) — fila de mensagens para notificações e processamento assíncrono
- Login/Cadastro de clientes
- Catálogo de produtos
- Carrinho de compras
- Histórico de compras
- Consulta de pendências/dívidas
- Pagamento via PIX/MercadoPago
- Reset de senha via email
- Suporte ao usuário
- Gerenciamento de produtos
- Gerenciamento de clientes
- Controle de estoque
- Gestão de dívidas
- Relatórios de vendas
- Visualização de feedbacks
- Processamento assíncrono e notificações via RabbitMQ
- Produtos
- Clientes
- Vendas
- Carrinho
- Dívidas
- Usuários (Funcionários)
- Clone o repositório
- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente no arquivo
secrets.toml(veja exemplo abaixo) - Crie o banco de dados PostgreSQL (recomendado Neon.tech, Railway, Supabase ou ElephantSQL)
- Configure uma instância RabbitMQ (ex.: CloudAMQP) e defina a URL no
secrets.toml(link: https://customer.cloudamqp.com/instance/) - Execute o aplicativo:
streamlit run main/app.pyUSER = "email@exemplo.com"
PASSWORD = "sua_senha"
ACESS_TOKEN = "token_mercado_pago"
PIX_KEY = "sua_chave_pix"
TOKEN_TELEGRAM = "seu_token_telegram"
# RabbitMQ (pika) - exemplo de URL amqps
# Exemplo CloudAMQP: amqps://usuario:senha@hostname/vhost
RABBITMQ_URL = "amqps://usuario:senha@host/vhost"
# Dados do banco PostgreSQL
TEST_USER_DB = "usuario_db" # (opcional, se usar DATABASE_URL)
TEST_DATABASE_NAME = "nome_banco" # (opcional)
TEST_HOST_DB = "host_postgres" # (opcional)
TEST_PASSWORD_DB = "senha_db" # (opcional)
DATABASE_URL = "postgresql://usuario:senha@host:porta/nome_banco?sslmode=require"O tema da aplicação pode ser customizado através do arquivo config.toml:
[theme]
base = "dark"
primaryColor = "#DAA520" # GoldenRod
secondaryBackgroundColor = "#8B4513" # SaddleBrown
textColor = "#FFFFFF"- Interface responsiva
- Tema escuro por padrão
- Cores personalizadas
- Ícones intuitivos
- Mapa de localização integrado
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto está sob a licença MIT.
Developer: Renan Rodrigues (@rodrigues_renan)