Skip to content

diasisac/ibge

Repository files navigation

mobilesaude.com.br

Descrição Challenge Backend Mobile Saúde – 2020-2

Por: Vinicius Fiorio[email protected]

O que será analisado?

Compreensão do escopo, lógica, organização do projeto e do código, modelagem e manipulação de dados, tecnologias utilizadas, domínio da linguagem e desempenho da aplicação

Entrega

O código fonte deve ser entregue via e-mail, junto com o dump do banco de dados, o código fonte pode estar compactado ou em algum repositório PRIVADO. Junto ao e-mail deve ser entregue orientações para o deploy da aplicação, além de qualquer outra informação necessária para sua execução.

Envie a partir do mesmo e-mail incluído no formulário da vaga.

Escopo

O challenge consiste na criação de uma interface web (responsiva) que busque os municípios do Brasil tendo como base os dados públicos do IBGE. O sistema deve ser capaz de filtrar os municípios por Região e/ou Estado realizando uma busca no nome do município, que deve ser linkada com o site do IBGE.

O sistema possui 3 módulos principais

Banco de Dados (MySql ou PostgreSQL)

  1. Criar banco de dados e publicar com os dados CSV - Regiões, estados e municipios
  2. Aplicar técnicas de performance de consultas
  3. Aplicar técnicas de relacionamento entre tabelas

API REST (deve ser escrita em PHP, NODE.JS ou JAVA de acordo com a vaga aplicada):

  1. Lista de regiões políticas do Brasil;
  2. Lista todas as UF do Brasil;
  3. Lista todos os municípios por UF;
  4. Busca por municípios, estado + busca do usuário;
  5. Busca por municípios, região + busca do usuário.

Interface WEB (preferencialmente utilizando Bootstrap 4):

  1. Formulário para busca;
  2. Combo-box de regiões;
  3. Combo-box de estados;
  4. Input de texto para busca;
  5. Lista com os resultados da busca (que deve ser linkada com o site do IBGE para o usuário buscar mais informações, como no exemplo: https://sidra.ibge.gov.br/territorio#/N6/3205309);

É importante que a interface web, seja desacoplada da API que realizará a busca ou que use algum Framework MVC que tenha uma separação clara de funções dos módulos utilizados.


Referências

Resultado da busca: Interface web.png

Resultado da mesma busca na API - busca.png


mobilesaude.com.br


Parte do desenvolvedor

Instalação do Projeto

  1. Realizar a instalação de um servidor web WAMP ou XAMPP, se preferir pode ser utilizado o próprio servidor do PHP.
  2. Criar uma pasta chamada desafio_mobile_saude e clonar este repositório dentro dessa pasta.
  3. Após a clonagem do repositório, é necessário instalar as dependências do projeto e para isso podemos prosseguir com comando composer install dentro do diretório do projeto EXEMPLO: C:\xampp\htdocs\desafio_mobile_saude\ibge
  4. Com a instalação das depêndencias concluída podemos acessar a aplicação com a seguinte url
  5. http://localhost/desafio_mobile_saude/ibge/public/

Configurações do banco🔧

  • DATABASE=ibge
  • USERNAME=root
  • Charset=utf8mb4
  • Collation=utf8mb4_general_ci

Endpoints

  • http://localhost/desafio_mobile_saude/ibge/public/api/regiao
  • PARÂMETROS DE ENTRADA
    Parâmetro Tipo Obrigatoriedade Descrição
    id inteiro Opcional Id da região
    nome inteiro Opcional Nome da região

  • http://localhost/desafio_mobile_saude/ibge/public/api/estado
  • PARÂMETROS DE ENTRADA
    Parâmetro Tipo Obrigatoriedade Descrição
    id inteiro Opcional Id do estado
    codigo inteiro Opcional Código do estado
    nome string Opcional Nome do estado
    uf string Opcional Uf do estado
    id_regiao inteiro Opcional Id da estado

  • http://localhost/desafio_mobile_saude/ibge/public/api/municipio
  • PARÂMETROS DE ENTRADA
    Parâmetro Tipo Obrigatoriedade Descrição
    id inteiro Opcional Id do município
    codigo inteiro Opcional Código do município
    nome string Opcional Nome do município
    uf string Opcional Uf do município

Regras da aplicação⚠️

  • A busca pode ser feita sem selecionar nenhuma região, nenhum estado e nenhum município, retornará todos os municípios
  • A busca pode ser feita selecionando apenas a região, retornará os municípios baseado na região selecionada
  • A busca pode ser feita selecionando a região e o estado, retornará os municípios baseado na região e estado selecionados
  • A busca pode ser feita selecionando a região, estado e informando o município
  • A busca pode ser feita selecionando a região, e informando o município

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published