Teste para Desenvolvedor Back-end Java - Internationalization
Olá ! Bolamos esse teste pra entender melhor como você aborda o problema proposto, e como você gosta de codificar. Tentamos aproximar o máximo possível da nossa realidade, utilizando tecnologias que usamos e que facilmente podem ser encontrados tutoriais na internet. Caso não consiga ou queira fazer algum passo, não tem problema. Não vamos te desqualificar por isso. Nesse caso você pode comentar sobre o ponto e o porquê não o fez. Esperamos que goste!
Seguem as tarefas. As tarefas consideradas bônus, caso não tenha tempo ou prefira não fazer, por favor comentar como faria ou como seria a arquitetura técnica:
- Criar uma API de um serviço de internacionalização. Utilizar Spring BOOT;
- Essa API deve conter o nome de todos os países do mundo e suas respectivas cidades e código postal (Postal code ou Zip code);
- Os nomes têm que ser internacionalizados. Pelo menos 5 linguagens: português, espanhol, inglês, alemão, francês;
- DB pode ser a vontade (sugestão h2, postgres ou mongo);
- Adicionar swagger. Dica: documentar todos os campos;
- Não esquecer dos unit tests;
- Entregar o link do repositório em modo privado (preferência gitlab) com readme.MD com instruções de como rodar localmente e resumo técnico;
Bônus: Criar dockerfile e docker-compose.yaml pra fazer o deploy local como container do docker. Bônus: Deploy em algum cloud provider (preferência AWS, pode ser no EC2 mesmo, ou Azure ou Heroku);
Dicas de links para pesquisa:
https://www.geonames.org/
https://stackoverflow.com/questions/13678901/word-cities-towns-countries-database-for-mongodb-or-in-json
https://www.ip2location.com/free/city-multilingual
https://stackoverflow.com/questions/10260559/is-there-a-public-dataset-with-the-complete-i18n-list-of-countries-states-lang
https://github.com/planetopendata/awesome-world