Skip to content

SamuelScar/ceasa-statistics

Repository files navigation

Dashboard de Estatísticas CEASA 🌾

Esta aplicação exibe as estatísticas e métricas de cotações de diversos CEASAs pelo Brasil. Ela foi construída com Streamlit e roda dentro de um container Docker para facilitar sua execução e escalabilidade.

Os filtros são enviados ao PostgreSQL somente ao clicar em Aplicar filtros. Os gráficos usam consultas agregadas e a tabela de dados brutos é paginada no banco para reduzir o volume transferido ao Streamlit.

Estrutura do Projeto

O código-fonte segue a seguinte organização:

  • app.py: Arquivo de entrada da aplicação (streamlit run app.py).
  • dashboard/: Contém os componentes lógicos.
    • data.py: Módulo responsável por consultar o PostgreSQL do Supabase.
    • filters.py: Configura a barra lateral (sidebar) e aplica a lógica de filtragem nos dados.
    • components.py: Contém as funções responsáveis por renderizar gráficos (Plotly) e KPIs na tela.
    • config.py: Variáveis de CSS customizado, paletas e nomes padronizados de colunas.
    • main.py: Orquestrador que agrupa a obtenção dos dados, aplicação dos filtros e renderização dos gráficos.

Como Buildar e Rodar com Docker

Para facilitar a execução na sua máquina sem conflito de dependências Python, recomendamos fortemente o uso do Docker através do docker-compose.

1. Requisitos

  • Docker e Docker Compose instalados em sua máquina.
  • Arquivo .env com a variável COTACOES_SUPABASE_DATABASE_URL.

2. Passo a Passo

Abra o seu terminal/prompt de comando na pasta do projeto (ceasa-statistics) e execute o seguinte comando:

docker-compose up --build

Dica: Para rodar em segundo plano, adicione -d ao final: docker-compose up --build -d

Aguarde o Docker baixar a imagem do Python, instalar as dependências (pandas, streamlit, plotly, sqlalchemy) contidas no requirements.txt e iniciar a aplicação.

3. Acessando a Aplicação

Quando o terminal exibir a mensagem de que o Streamlit foi iniciado, abra o seu navegador e acesse:

http://localhost:8501

4. Interrompendo a Aplicação

Se você rodou sem a flag -d, basta pressionar CTRL+C no terminal. Se você usou a flag -d, digite o comando:

docker-compose down

Como Rodar Localmente (Sem Docker)

Se preferir rodar usando uma instalação Python local (ex: via Conda, venv), basta executar os comandos abaixo na pasta do projeto:

# 1. Instalar dependências
pip install -r requirements.txt

# 2. Configure COTACOES_SUPABASE_DATABASE_URL no arquivo .env

# 3. Iniciar o app
streamlit run app.py

About

Dashboard analítico que exibe estatísticas e métricas de cotações de diversos CEASAs (Centrais de Abastecimento) pelo Brasil. Desenvolvido com Streamlit, oferece filtros avançados, gráficos interativos e KPIs, com suporte a execução via Docker.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors