Skip to content

Este projeto inclui um dashboard interativo desenvolvido com Streamlit para visualização e análise dos dados de irrigação.

License

Notifications You must be signed in to change notification settings

henriquesilvadev/dashboard-python-streamlit

Repository files navigation

FIAP - Faculdade de Informática e Administração Paulista

FIAP - Faculdade de Informática e Admnistração Paulista


Dashboard em Python com Streamlit para Monitoramento de Irrigação

Visão Geral do Dashboard

Este projeto inclui um dashboard interativo desenvolvido com Streamlit para visualização e análise dos dados de irrigação. O dashboard permite:

  • 📊 Visualização de níveis de umidade do solo
  • 🧪 Monitoramento de pH
  • 🌿 Análise de nutrientes (NPK - Nitrogênio, Fósforo e Potássio)
  • 💦 Status de irrigação em tempo real
  • 🌤️ Sugestões inteligentes de irrigação baseadas em clima e condições do solo

Time

@agodoi @SabrinaOtoni @henriquehsilva @manoellaweiser-gif @JoaoMDPaiva @Luiz-Frederico @younmariana-create

Pré-requisitos

  • Docker instalado (Download Docker)
  • Docker Compose instalado (geralmente incluído no Docker Desktop)
  • Arquivo data/irrigation_dataset.csv com os dados dos sensores

Estrutura do Projeto

dashboard-python-streamlit/
├── app.py                      # Aplicação Streamlit
├── requirements.txt            # Dependências Python
├── Dockerfile                  # Configuração do container Docker
├── docker-compose.yml          # Orquestração dos containers
├── .dockerignore              # Arquivos ignorados no build
├── data/
│   └── irrigation_dataset.csv # Dados dos sensores
├── README.md                  # Documentação
└── LICENSE.md

🚀 Como Executar com Docker

Opção 1: Usando Docker Compose (Recomendado)

  1. Clone o repositório ou navegue até o diretório do projeto:

    cd /Users/henriquesilvadev/Projects/FIAP/Fase3/dashboard-python-streamlit
  2. Build e inicie o container:

    docker-compose up --build
  3. Acesse o dashboard:

    Abra seu navegador e acesse: http://localhost:8501

  4. Para parar o container:

    docker-compose down

Opção 2: Usando Docker diretamente

  1. Build da imagem:

    docker build -t irrigation-dashboard .
  2. Execute o container:

    docker run -p 8501:8501 \
      -v $(pwd)/data:/app/data:ro \
      --name irrigation-dashboard \
      irrigation-dashboard
  3. Acesse o dashboard:

    Abra seu navegador e acesse: http://localhost:8501

  4. Para parar o container:

    docker stop irrigation-dashboard
    docker rm irrigation-dashboard

🛠️ Comandos Úteis do Docker

# Ver logs do container
docker-compose logs -f

# Rebuild após mudanças no código
docker-compose up --build

# Executar em background (modo detached)
docker-compose up -d

# Verificar status dos containers
docker-compose ps

# Parar e remover containers, redes e volumes
docker-compose down -v

📊 Funcionalidades do Dashboard

  1. Métricas Principais:

    • Umidade média do solo (%)
    • pH médio
    • Níveis médios de Fósforo (P) e Potássio (K)
  2. Visualizações Interativas:

    • Gráficos de linha para evolução temporal dos dados
    • Gauge para status de umidade atual
    • Gráficos de nutrientes NPK
  3. Sistema de Sugestões:

    • Análise inteligente das condições atuais
    • Recomendações de irrigação baseadas em múltiplos fatores
    • Alertas de níveis críticos
  4. Filtros e Exportação:

    • Filtro por período de tempo
    • Visualização de dados brutos
    • Export para CSV

🔧 Desenvolvimento Local (Sem Docker)

Se preferir executar sem Docker:

  1. Crie um ambiente virtual:

    python -m venv venv
    source venv/bin/activate  # No Windows: venv\Scripts\activate
  2. Instale as dependências:

    pip install -r requirements.txt
  3. Execute o Streamlit:

    streamlit run app.py

📝 Variáveis de Ambiente

O dashboard utiliza as seguintes variáveis de ambiente (já configuradas no docker-compose.yml):

STREAMLIT_SERVER_PORT=8501
STREAMLIT_SERVER_ADDRESS=0.0.0.0
STREAMLIT_SERVER_HEADLESS=true
STREAMLIT_BROWSER_GATHER_USAGE_STATS=false

🐛 Troubleshooting

Problema: Container não inicia

# Verifique os logs
docker-compose logs

# Reconstrua sem cache
docker-compose build --no-cache

Problema: Porta 8501 já está em uso

# Altere a porta no docker-compose.yml
ports:
  - "8502:8501"  # Use 8502 ao invés de 8501

Problema: Dados não aparecem

  • Verifique se o arquivo data/irrigation_dataset.csv existe
  • Verifique as permissões do arquivo
  • Confirme que o volume está montado corretamente

📹 Demonstração em Vídeo

Link para o vídeo de demonstração: Ver VIDEO_LINK.txt

Licença

Este projeto está licenciado sob a Licença Creative Commons Atribuição 4.0 Internacional. Para mais detalhes, consulte o arquivo LICENSE.

About

Este projeto inclui um dashboard interativo desenvolvido com Streamlit para visualização e análise dos dados de irrigação.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published