rmsaitam / w16-warker-app-api

Teste de contratação de equipe da W16 Software House

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

W16 Warker App - API

Desenvolvedor

Olá! Muito obrigado por participar da avalição técnica para integrar a equipe de desenvolvimento da W16.

Criamos esta avaliação para avaliar seu conhecimento em lógica de programação, capacidade de investigar e conhecer novas ferramentas, organização e qualidade de código e especialmente, sua criatividade.

Especificação

No mundo pós-apocaliptico de 2021, o combustível tem um valor inestimável. Gangues bárbaras lutam até a morte pelo controle desse valioso recurso e a W16 está desenvolvendo o aplicativo WARKER, que é a última esperança da humanidade em trazer um pouco de paz e ordem à esse mundo devastado. Esse aplicativo deve consumir uma API REST em Laravel que indica os postos de gasolina das diversas cidades, sua localização e o nível dos seus reservatórios. Lembre-se de que não há mais lei e a sua vida depende do sucesso desse backend. Marcopoc não fica feliz quando o seu app falha devido a erros no backend e você não quer deixar o Marcopoc irritado...

Regras

  • Não há regras, não há lei, apenas a sobrevivência importa!

Recomendações

  • Faça bom uso dos recursos do framework (migrations, factories, estrutura MVC, rotas...)
  • D.R.Y. = "Don't Repeat Yourself"
  • Mantenha o código limpo e organizado
  • Utilize comentários pois alguém irá ler o seu código. Nosso último dev esqueceu um comentário importante. RIP :(
  • Utilize o README.md do seu projeto para explicar instalação, funcionamento, o processo que usou para o desenvolvimento ou implorar por misericórdia.

Importante

  • Use Laravel 8
  • Use Laravel 8
  • Use Laravel 8
  • Já mencionei que a versão do laravel é a v8?
  • Lembre-se de usar os métodos GET,PUT,POST e DELETE.

Pontos Extras

Pode contar pontos extras

  • CRUD Web
  • Autenticação
  • Teste automatizado
  • Seeder e uso de fakers

Exemplo de tabelas:

Cidades

|id |nome_da_cidade|latitude|longitude|created_at|updated_at|
|int|string        |double  |double   |timestamp |timestamp |

Postos

|id |cidade_id|reservatorio|latitude|longitude|created_at|updated_at|
|int|int(fk)  |int(1-100%) |double  |double   |timestamp |timestamp |

Endpoints esperados

/api/cidade/id

{
    id : id,
    cidade : nome_da_cidade,
    coords : {
            latitude : latitude,
            longitude : longitude
        },
    postos : {
        id : id,
        reservatorio : reservatorio,
        coords : {
            latitude : latitude,
            longitude : longitude
        },
        updated_at : updated_at,
        created_at : created_at
    }
}

/api/posto/id

{
    id : id,
    reservatorio : reservatorio,
    coords : {
        latitude : latitude,
        longitude : longitude
    },
    updated_at : updated_at,
    created_at : created_at
}

Entrega

Crie um FORK deste repositório e faça um Pull-Request. Commite no repositório todo o código do backend, juntamente com instruções, se necessário. O prazo para entrega será de 7 horas - ou melhor, 7 dias.

Qualquer dúvida, crie um issue neste projeto ou entre em contato com o nosso time pelo instagram: @w16.softwarehouse

2 DEVS ENTRAM, 1 DEV SAI!

About

Teste de contratação de equipe da W16 Software House