Skip to content

Repository files navigation

Petasos

Serviço interno de rastreamento de frota. Sincroniza posições de veículos a partir das APIs dos fornecedores de telemetria (vendors) contratados e as armazena no nosso banco.

Hoje o Petasos integra um único vendor: a Atlas Telemetria.

Setup

Requisitos: Elixir >= 1.17, Docker.

docker compose up -d      # Postgres em localhost:5434
mix deps.get
mix ecto.setup            # cria, migra e semeia o banco
mix test                  # suite existente, deve passar verde

Para sincronizar as posições da Atlas:

mix petasos.sync atlas

As APIs dos vendors são servidas por um simulador embutido, que sobe junto com a aplicação em localhost:4001. A mix task sobe e derruba a aplicação sozinha; para manter o simulador de pé e explorar as APIs com curl, rode iex -S mix em um terminal separado.

curl 'localhost:4001/atlas/v1/positions?offset=0&limit=5'

A documentação das APIs está em docs/vendors/. O glossário do domínio está em DOMINIO.md.

A tarefa

Fechamos contrato com um segundo vendor de telemetria, a Boreal Rastreamento. Os veículos da frota Boreal já estão cadastrados no banco (veja os seeds), e o simulador já expõe a API da Boreal em localhost:4001/boreal/api — a documentação fornecida por eles está em docs/vendors/boreal.md.

Integre a Boreal ao Petasos: as posições dos veículos dela devem passar a existir no nosso banco, corretas e completas. Escreva os testes que você julgar importantes. Fora isso, as decisões são suas — trabalhe como trabalharia de verdade, incluindo o uso de IA como você usaria no dia a dia.

Não esperamos que isso vire uma noite em claro: algo em torno de 2 a 3 horas de trabalho está ótimo. O que não couber nesse tempo, mas você considerar relevante, registre na descrição do PR.

Entrega

  1. Faça um fork deste repositório no seu GitHub.
  2. Trabalhe em uma branch no seu fork.
  3. Abra o pull request dentro do seu próprio fork (base: a branch main do seu fork) — não abra PR contra este repositório.
  4. Envie o link do PR para a pessoa que está conduzindo o seu processo.

Vamos conversar sobre o seu PR em uma call de ~1h: você apresenta as suas decisões e depois fazemos uma pequena extensão ao vivo, juntos.

About

Desafio técnico INFLEET — Etapa B

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages