
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.
2 respostas para “Projeto de site de custo de vida em cidades usando Java”
Parabéns….Excelente projeto
Obrigado, professora! :)