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.
- 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.
.
└── 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
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.
