Projeto de site de custo de vida em cidades usando Java

Telas do site do projeto de site de pesquisa de custo de vida em cidades
API do site de custo de vida foi desenvolvida usando Java com framework SpringBoot

O projeto acadêmico Expat teve a proposta de auxiliar as pessoas no planejamento financeiro ao migrar de cidade, seja por motivos profissionais ou pessoais, com um site contendo informações sobre o custo de vida em uma nova área.

O site experimental funciona com o uso de uma API, responsável por coletar, mostrar, atualizar e remover os dados fornecidos pelos próprios usuários cadastrados do site.

O desenvolvimento foi um projeto final da disciplina Desenvolvimento para Servidores II, do curso de Sistemas para Internet da FATEC Baixada Santista. Veja também scripts usando a validação reCAPTCHA em PHP e o script de autenticação de dois fatores em PHP, desenvolvidos ao longo do curso.

Detalhes do projeto

A API funciona em Java com framework Spring Boot, banco de dados MySQL e documentação via Swagger. Todas as requisições do site acontecem por meio desta API, que retorna dados em formato JSON.

Nesta parte, um dos desafios foi transferir ao banco de dados a responsabilidade pelo cálculo médio de cada categoria de custo em uma cidade, retornando também as informações do município no mesmo JSON.

Foi necessário criar uma classe específica para o tratamento destas informações específicas, com uma requisição customizada no banco de dados. O resultado retornado é algo como o descrito abaixo.

// Modelo de retorno de valores médios de custo de vida

{
  "almoco": 0,
  "aluguel": 0,
  "cestabasica": 0,
  "onibus": 0,
  "cidade": {
    "id": 0,
    "municipio": "string",
    "estado": "string"
  }
}

O site de custo de vida, ou aplicação cliente, também funciona em Java, com Java Server Faces, Bootstrap e Prime Faces para o front-end.

Algumas das funcionalidades só aparecem de acordo com a permissão do usuário. Todos os visitantes do site cadastrados aparecem como usuários normais. Administradores só podem ser cadastrados diretamente na API.

Uma das partes mais complexas foi a busca por nome da cidade, transportando esses dados entre diferentes páginas e formulários. E isto ocorreu tanto na consulta por custo de vida quanto para facilitar o usuário na inserção e edição de novos dados.

O código-fonte da API e do client estão disponíveis no meu GitHub. Já a hospedagem da versão ao vivo do site e da API foram feitos no Google Cloud.

Avatar de Matheus Misumoto

2 respostas para “Projeto de site de custo de vida em cidades usando Java”

  1. Rosana Cammarosano

    Parabéns….Excelente projeto

    1. Matheus Misumoto

      Obrigado, professora! :)