Skip to main content

Sistema de gestão de consumo residencial de água, energia e gás

Project description

Gestão de Consumo de Água, Energia e Gás.

Sistema com o objetivo de monitorar e gerenciar o consumo de água, energia elétrica e gás em residências.

Desenvolvido pelo Grupo 3: David Duarte, Danilson Gonçalves, Wilker Lopes e Rafael Fortes.

Displina: Metodologias Ágeis de Desenvolvimento de Software

Curso: Tecnologias de informação, Web e Multimédia – 2º ano

📄 Documentação Completa do Projeto

🔗 Acessar Documento Completo

O Que Você Encontrará Aqui:

Descrições detalhadas do projeto e objetivos.
Registros de progresso atualizados (sprints, tarefas concluídas).
Decisões importantes tomadas pela equipa.
Dados técnicos (arquitetura, tecnologias usadas).
Relatórios (testes, erros corrigidos, próximos passos).

Exemplos de uso do codigo ⬇️

Sistema de Monitoramento Residencial de Consumo

Este sistema permite o registro, validação, monitoramento e geração de relatórios sobre o consumo de água, energia e gás em diferentes residências. Ideal para análises de eficiência energética e sustentabilidade doméstica.

Funcionalidades

  • Cadastro de casas com localização, morada e certificado energético;
  • Registro de consumo por tipo ("agua", "energia", "gas"), com validação dos dados;
  • Geração de relatórios gerais e individuais;
  • Detecção de erros/inconsistências nos dados;
  • Exibição em tabelas formatadas com tabulate;
  • Informação sobre o período de maior gasto por tipo de consumo.

Instalação de Dependências

Antes de usar o código, é necessário que o usuário instala as seguintes bibliotecas, caso não tenha:

pip install pandas
pip install tabulate

Requer Python 3.6 (ou superior)

Como usar o codigo

from sistema import ControladorCasas

# Este codigo aqui, cria o sistema e instancia o controlador principal que gerencia todas as casas e consumos
data = ControladorCasas()

# Adicionar casas
# Sintaxe do coidgo: data.adicionar_casa(codigo, latitude, longitude, morada, certificado_energetico, apelido)
# adiciona a casa "001" com localização, morada e certificado
data.adicionar_casa("001", 41.1578, -8.6299, "Rua do Porto 123", "A+", "Casa Central")

# Registrar os consumos
# Sintaxe: data.registrar_consumo(codigo, tipo, periodo, quantidade, custo)
# Cada linha adiciona o consumo de um tipo (água, energia ou gás) para um mês específico
# Exemplo: 15000 litros de água com custo de 45.75€ em jan/2025
#          350 kWh de energia com custo de 120.50€ no mesmo período
data.registrar_consumo("001", "agua", "01/2025", 15000, 45.75)
data.registrar_consumo("001", "energia", "01/2025", 350, 120.50)

# Listar consumo
# Exibe o histórico de consumo por tipo e casa, formatado em tabela, inserindo o codigo da casa (Exmplo:"001") e o que deseja listar, como agua, energia e gas.
# exemplo:  data.listar_consumo("001", "agua")
          # data.listar_consumo("001", "energia")
          # data.listar_consumo("001", "gas")
data.listar_consumo("001", "agua")

# Gerar relatórios gerais e individuais
# Relatório geral: consolida o consumo de todas as casas
# Relatório individual: detalha o consumo por casa
# Ambos são exibidos diretamente no terminal
data.gerar_relatorio_geral()
data.gerar_relatorio_individual()

# Verificar consistência dos dados
# Checa se há consumos negativos, períodos repetidos ou certificados inválidos
# Útil para auditoria de dados
data.verificar_integridade()

Tipos de consumo válidos

  • agua
  • energia
  • gas

Formato do período

  • Sempre no formato "MM/AAAA" (ex: "01/2025")

Certificados energéticos aceitos

"A+", "A", "B", "B-", "C", "D", "E", "F", "G"

Sobre as classes do trabalho

  • Casa: representa uma residência com atributos e consumos;
  • ControladorCasas: gerencia o conjunto de casas e relatórios;
  • Validador: garante que os dados inseridos sejam coerentes;
  • GeradorTabelas: imprime dados formatados com tabulate.

Validações automáticas

  • Certificados inválidos são rejeitados no cadastro;
  • Coordenadas fora do intervalo geográfico válido são rejeitadas;
  • Consumos com valores ou custos negativos são sinalizados;
  • Períodos duplicados para o mesmo tipo de consumo são impedidos.

Observações

  • O sistema ainda aceita dados com erros após aviso, para fins de auditoria ou testes.
  • Todos os relatórios são exibidos diretamente no terminal com formatação visual.

🔗 Acessar o Segundo Projeto

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gestao_consumo-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gestao_consumo-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file gestao_consumo-0.1.0.tar.gz.

File metadata

  • Download URL: gestao_consumo-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for gestao_consumo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 62e78d2a8cd013fcc41b8be27d6d114296a9af69236b93b13959a36c78b55b22
MD5 dd9e8071695a8c1ae8fdc197441ae1c1
BLAKE2b-256 0506c90d6651a31cf869f60aa6e5aa3d0e53b548f93bebfcd321ed3f7e4d3e6b

See more details on using hashes here.

File details

Details for the file gestao_consumo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gestao_consumo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for gestao_consumo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4544b99123faaeefdccfa3835eb5c519fa8cfb256e5409f4bf236b0635368ac2
MD5 19f989f3166573aabec35cbd64c77314
BLAKE2b-256 83c6e4e549e2ef0d51f21e25ae7cf629998e293f7ec06d91f02e7aa09c96b97d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page