Skip to content

ozmap/technical-assessment-int_dm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OZmap Challenge: Construindo a Geolocalização do Futuro

Olá desenvolvedor(a)! Bem-vindo(a) ao Desafio Técnico do OZmap. Este é um projeto que simula um cenário real de nossa empresa, onde você irá desempenhar um papel crucial ao desenvolver uma API RESTful robusta para gerenciar usuários e localizações. Estamos muito animados para ver sua abordagem e solução!

🌍 Visão Geral

Em um mundo conectado e globalizado, a geolocalização se torna cada vez mais essencial. E aqui no OZmap, buscamos sempre otimizar e melhorar nossos sistemas. Assim, você encontrará um protótipo que precisa de sua experiência para ser corrigido, melhorado e levado ao próximo nível.

🛠 Especificações Técnicas

  • Node.js: Versão 20 ou superior.
  • Banco de Dados: Mongo 7+.
  • ORM: Mongoose / Typegoose.
  • Linguagem: Typescript.
  • Formatação e Linting: Eslint + prettier.
  • Comunicação com MongoDB: Deve ser feita via container.

🔍 Funcionalidades Esperadas

Usuários

  • CRUD completo para usuários.
  • Cada usuário deve ter nome, email, endereço e coordenadas.
  • Na criação, o usuário pode fornecer endereço ou coordenadas. Haverá erro caso forneça ambos ou nenhum.
  • Uso de serviço de geolocalização para resolver endereço ↔ coordenadas.
  • Atualização de endereço ou coordenadas deve seguir a mesma lógica.

Regiões

  • CRUD completo para regiões.
  • Cada região tem um nome, coordenadas e um usuário que será o dono da região.
  • Listar regiões contendo um ponto específico.
  • Listar regiões a uma certa distância de um ponto, com opção de filtrar regiões não pertencentes ao usuário que fez a requisição.

Autenticação

  • Autenticação não é necessária.

Testes

  • Unitários e de integração.

🌟 Diferenciais

  • Documentação completa da API.
  • Interface para visualização de logs.
  • Exportação de relatórios (.csv).
  • Cobertura de código.

Critérios de Avaliação

  1. Organização e clareza do código.
  2. Estruturação do projeto.
  3. Qualidade e eficiência do código.
  4. Cobertura e qualidade de testes.
  5. Pontos diferenciais citados acima.
  6. Tempo de entrega.
  7. Padronização e clareza das mensagens de erro.
  8. Organização dos commits.
  9. Implementação de logs.
  10. Adesão às boas práticas de API RESTful.

🚀 Entrega

  1. Faça um fork deste repositório.
  2. Crie uma branch com o padrão seu-nome-sobrenome.
  3. Envie um email [email protected] informando que o teste foi concluído.
  4. Aguarde nosso feedback.

Estamos ansiosos para ver sua implementação e criatividade em ação! Boa sorte e que a força do código esteja com você! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published