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 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.1.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.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gestao_consumo-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 225f58919199439597842d7b89a5845950803dd01cf4d4f37722629ddb7c51e8
MD5 5096f7892e552b090f222e54faa30529
BLAKE2b-256 6118f6ec9ad2f59019cef87346b2967d598e0b515e923f9b6e4523c99f09ef47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gestao_consumo-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fce2a687c9f80d500160287bcbe6eaf58eaa3c3328130b89846fbf0c1b03a623
MD5 7737f18761863b37762832960fde7669
BLAKE2b-256 64136174d397ae85a6258a7f748bb94ec1bef8342ff86054f10c244f986df8c2

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