Link da publicação no Linkedin
Fala pessoal quero compartilhar com vocês um dos últimos projetos que venho construindo afim de melhorar minhas habilidades, principalmente nas stacks Python e Kotlin.
Sempre que testo ou estudo algum tipo de tecnologia, tento encaixar em algo no meu dia a dia, sendo assim o projeto consiste em Fui ou não na academia.
Para isso eu tenho os seguintes requisitos:
- Rastrear minha localização
- Sempre que eu for a academia registrar isso
- No final quero ver alguns dados referente aos registros
Para o rastreamento eu escolhi utilizar o Home Assistant que é uma ferramenta incrível.
Basicamente o app android monitora onde estou e quando entro ou saio da zona da academia que foi definida previamente ele envia isso para o servidor,
então o HA envia isso para o assistant-link que por sua vez faz a logica de calcular o tempo que fiquei na academia e envia o evento para o RabbitMQ.
A aplicação kotlin fica ouvindo a fila e salva o evento no banco de dados.
Apos isso montei painéis no grafana com as informações.
Resultado:
Diagrama da infraestrutura:
- Assistant Link, aplicação Python que recebe a request do HA.
- Exercises, aplicação Kotlin que salva o evento na base de dados.
A stack a seguir sobe um ambiente como na imagem, exceto o HA, ela faz requests usando o curl
simulando requests que poderiam ser feitas a partir do HA ou de alguma outra integração.
Subir a stack
git clone https://github.com/alves-dev/posts.git && \
cd posts/2024/stack-life-python-kotlin/ && \
sh up-stack.shDeletar a stack
docker compose -p life downDeletar as imagens uyilizadas
docker rmi $(docker image ls --filter=reference="ghcr.io/alves-dev/life*" --format "{{.ID}}")Em: 2024-03



