Este projeto é um sistema de controle de estacionamento desenvolvido com Streamlit, banco de dados MongoDB e Poetry como gestor de dependências. O sistema permite registrar a entrada e saída de veículos, consultar veículos estacionados, visualizar o histórico de movimentos e gerenciar configurações como os preços de estacionamento. Ele inclui um dashboard para visualizar o faturamento e distribuição de veículos por tipo.
- Registro de Entrada e Saída: Registra a entrada e saída de veículos, calculando automaticamente o custo com base no tempo de permanência.
- Consulta de Veículos Estacionados: Mostra todos os veículos atualmente estacionados com opções para registrar saída.
- Histórico de Movimentos: Permite visualizar o histórico completo de entradas e saídas de veículos.
- Configurações do Sistema: Administração dos preços por hora para diferentes tipos de veículos e outras configurações do sistema.
- Dashboard de Faturamento: Exibe o faturamento total em um período especificado e a distribuição dos veículos por tipo.
- Python 3.12.x
- MongoDB
- Poetry para gerenciamento de dependências
Para obter o projeto, clone o repositório em sua máquina local usando:
git clone https://github.com/filipemsilv4/OpenStParkingLot.git
cd OpenStParkingLot
Instale o Poetry globalmente em seu sistema (se ainda não estiver instalado):
pip install poetry
Dentro do diretório do projeto, configure o ambiente virtual e instale as dependências:
poetry install
Ative o ambiente virtual gerado pelo Poetry:
poetry shell
- Crie uma conta e um cluster gratuito no MongoDB Atlas ou configure um servidor MongoDB local.
- Obtenha a string de conexão para o seu cluster.
Crie o arquivo .streamlit/secrets.toml
baseado no template template_secrets.toml
encontrado na raiz do projeto. Adicione a string de conexão do MongoDB como mostrado abaixo:
# .streamlit/secrets.toml
[mongo]
uri = "sua_string_de_conexao_aqui"
Com o ambiente configurado e ativo, execute o aplicativo Streamlit usando:
streamlit run app.py
O sistema agora deve estar rodando localmente em http://localhost:8501
, e você pode visualizar e interagir com a interface do controle de estacionamento.
Para problemas, sugestões ou contribuições, por favor, abra uma issue no repositório do GitHub.