A aplicação utiliza Spring Boot, Maven, Java 11+ e Hibernate no backend, enquanto no frontend possui Vue.js, Riot.js e Materialize. No entanto, você não está restrito a utilizar essas tecnologias, sinta-se livre para improvisar.
A aplicação está configurada para criar as tabelas no banco automaticamente, mas é necessário criar uma base PostgreSQL com os dados de conexão presentes no application.properties. Também não é necessário manter a configuração padrão em PostgreSQL, sinta-se livre para utilizar o SGBD que tiver mais experiência.
Para resolução do teste, apenas faça um fork deste projeto e dê commit/push normalmente no que for modificado.
Quanto mais itens corretos, melhor a pontuação.
- a) criar uma propriedade custom no arquivo application.properties, com o nome linkedin.name e valor igual ao seu nome de usuário (da forma como aparece na URL do LinkedIn). Por exemplo: considerando a URL de perfil https://www.linkedin.com/in/joaozinho123/, a variável teria o valor de "joaozinho123".
- b) modificar a aplicação para subir na porta HTTP considerando o valor ASCII do primeiro caractere da variável acima, concatenado com "80". Por exemplo: utilizando o exemplo acima, a aplicação subiria na porta 10680.
- c) modificar a variável de prefixo REST (já existente) para ser igual aos três primeiros caracteres da variável definida no item a).
- modificar GET /skills para retornar ordenado por nome
- modificar GET /stats para retornar ordenado por total (decrescente) e avg (decrescente)
- corrigir GET /skills/like para filtrar por nome
- mapear para /jobs
- suporte para GET, POST, DELETE
- seguindo o padrão dos outros cards já existentes
- com página de listagem
- inserção/edição/remoção
- acessível pela página inicial
- para que seus métodos sejam chamados a cada requisição HTTP
- para exibir o tempo médio de execução de cada evento logado
- implementar método GET com o mapeamento /skills/name/{name} ou /skills?name={name} para trazer um item com um nome específico
- implementar método GET com o mapeamento /skills/exists/name/{name} ou /skills/exists?name={name} para trazer um booleano indicando se um item com um nome específico existe na base de dados
- incluir seu nome completo no rodapé da página.