Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API de Monitoramento de Consumo Liqua Monitor

Uma API desenvolvida com o objeto de fornecer um backend para o aplicativo móvel Liqua, um monitorador de consumos domésticos centrado na construção de um histórico de consumo visualizável para economia de água, luz e gás.

Esse aplicativo foi construido para fins educacionais por alunos do 3º ano do Novo Ensino Médio, ao longo das aulas do curso Técnico em Desenvolvimento de Sistemas, realizado no SESI/SENAI-DF.

Como esse backend é exposto na forma de uma API standalone, ele não é dependente do frontend Liqua para sua execução. Excluindo casos de ambiente de desenvolvimento em que o link principal é desativado, você pode nos encontrar em https://liquamonitor.dev, ou clicando aqui.

Para visualizar o repositório da aplicação mobile Liqua Monitor para qualquer fim, acesse esse link. A interface, apesar de desacoplada, foi desenvolvida ao redor do padrão de resposta da API de Monitoramento de Consumo Liqua Monitor, e não funcionará caso o endereço da API estiver fora do ar, bem como se houver alteração nos endereços de query da interface.

Features

  • Cadastro, autenticação e edição de usuários;
  • Manipulação completa de histórico de consumos reais, simulações e metas autoimpostas;
  • Distribuição de Dicas Sutentáveis instanciadas diretamente via JSON;
  • Validação de dados e tipagem com Pydantic para integridade do sistema;
  • Exposição de endpoints consistentes de API para conexão com frontend;
  • Envio de E-mail para recuperação de senha por meio de token Recovery JWT;
  • Persistência de dados em banco remoto e versionamento de base de dados com Alembic.

Principais Tecnologias Utilizadas

PostgreSQL

Redis

Python

SQLAlchemy

Pydantic

FastAPI

Resend

JWT

Caddy

Arquitetura do Sistema (em ambiente de desenvolvimento padrão)

.
└── monitoramento-de-consumo/
    ├── .venv/
    ├── alembic/
    ├── docs/
    ├── infra/
    │   ├── caddy/
    │   ├── docker/
    │   └── redis/
    ├── src/
    │   ├── api/
    │   ├── auth/
    │   ├── clients/
    │   ├── controllers/
    │   ├── database/
    │   ├── errors/
    │   ├── models/
    │   ├── schemas/
    │   ├── seeds/
    │   ├── templates/
    │   ├── validators/
    │   ├── __init__.py
    │   └── main.py
    ├── .env
    ├── .env.EXAMPLE
    ├── .gitignore
    ├── alembic.ini
    ├── README.md
    └── requirements.txt

Documentação completa

A documentação completa desse sistema está disponível na pasta /docs, envolvendo diagramas de classe, caso de uso, banco de dados e a documentação completa do comportamento da API.

Equipe Responsável pelo Projeto Liqua Monitor

Desenvolvedores Backend

Pedro Domiense

Davi Coelho

Desenvolvedor Frontend

Thiago Lucindo

Responsável pela Documentação

Paulo Demeris

About

Uma API desenvolvida com o objeto de fornecer um backend para o aplicativo móvel Liqua, um monitorador de consumos domésticos centrado na construção de um histórico de consumo visualizável para economia de água, luz e gás.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages