Aplicação web completa para gestão de uma pequena locadora de veículos, desenvolvida com Flask, SQLAlchemy e Bootstrap 5.
🎨 Screenshots em breve
- Dashboard Interativo: Visão geral do status de todos os carros em tempo real
- Gestão de Frota: Sistema já vem com a frota cadastrada (1 HB20 + 4 Celtas)
- Nova Locação: Formulário simples e intuitivo com cálculo automático de valores
- Validação de Conflitos: Impede aluguel de carros já ocupados no período
- Histórico Completo: Lista todas as locações passadas e futuras
- Design Mobile First: Interface otimizada para uso em celulares
git clone https://github.com/seu-usuario/locamil.git
cd locamilCopie o arquivo .env.example para .env e configure suas variáveis:
cp .env.example .envEdite o arquivo .env e configure:
SECRET_KEY: Gere uma chave secreta única (veja instruções no arquivo)DATABASE_URI: URI do banco de dados (padrão: SQLite)FLASK_DEBUG:Truepara desenvolvimento,Falsepara produção
pip install -r requirements.txtpython app.pyA aplicação estará disponível em: http://localhost:5000
Para fazer deploy da aplicação em produção, consulte o Guia de Deploy completo com instruções para várias plataformas (Heroku, Railway, Render, PythonAnywhere, etc.).
Na primeira execução, o sistema automaticamente:
- Cria o banco de dados SQLite (
locadora.db) - Cadastra a frota inicial:
- 1x HB20 (Placa: HB-001) - Diária: R$ 120,00
- 4x Celta (Placas: CEL-100, CEL-200, CEL-300, CEL-400) - Diária: R$ 90,00
- Cards com status de cada carro (Disponível/Alugado)
- Tabela de próximas devoluções (próximos 7 dias)
- Tabela de próximas retiradas (próximos 7 dias)
- Seleção de cliente (nome e WhatsApp opcional)
- Seleção de carro da frota
- Datas de retirada e devolução
- Cálculo automático do valor total (Dias × Diária)
- Validação de conflitos de datas
- Lista completa de todas as locações
- Filtros por status (Ativa, Finalizada, Cancelada)
- Ações para finalizar ou cancelar locações ativas
- Estatísticas de totais
- SQL: Exporta todos os dados em formato SQL (INSERT statements) para backup e migração
- CSV: Exporta locações em CSV para análise em Excel, Google Sheets ou Python/Pandas
- JSON: Exporta todos os dados em JSON estruturado para integração e análise programática
- Carros: Modelo, placa, cor, valor da diária
- Clientes: Nome, WhatsApp
- Locações: Carro, cliente, datas, valor total, status
- Flask 3.0.0: Framework web
- SQLAlchemy 3.1.1: ORM para banco de dados
- SQLite: Banco de dados embutido
- Bootstrap 5: Framework CSS para interface
- Bootstrap Icons: Ícones
- O banco de dados é criado automaticamente na primeira execução
- Os dados são persistidos no arquivo
locadora.db - A validação de conflitos impede aluguel de carros já ocupados
- O sistema é otimizado para uso mobile (botões grandes, layout responsivo)
- Exportação de dados: Acesse a página "Exportar" no menu para baixar dados em SQL, CSV ou JSON para análise posterior
Este projeto usa variáveis de ambiente para configurações sensíveis. NUNCA commite o arquivo .env no Git.
Para gerar uma chave secreta forte, execute em Python:
import secrets
print(secrets.token_hex(32))Copie o resultado e cole no arquivo .env:
SECRET_KEY=sua-chave-gerada-aqui
Em produção:
- ✅ Defina
FLASK_DEBUG=Falseno arquivo.env - ✅ Use uma
SECRET_KEYúnica e forte (nunca use a chave padrão) - ✅ Configure um banco de dados apropriado (PostgreSQL, MySQL, etc.)
- ✅ Use um servidor WSGI (Gunicorn, uWSGI) ao invés do servidor de desenvolvimento do Flask
- ✅ Configure HTTPS/SSL
Para dúvidas ou problemas, verifique:
- Se todas as dependências foram instaladas corretamente
- Se a porta 5000 está disponível
- Se há permissões para criar o arquivo
locadora.db - Se o arquivo
.envestá configurado corretamente
Contribuições são bem-vindas! Por favor, leia o guia de contribuição para mais detalhes.
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'feat: adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
- Sistema de autenticação de usuários
- Relatórios e dashboards avançados
- Integração com API de pagamento
- Notificações por e-mail/SMS
- App mobile (React Native)
- Sistema de manutenção de veículos
- Gestão de multas e sinistros
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com ❤️ para facilitar a gestão de locadoras de veículos.