Skip to content

um desafio para uma vaga de trabalho

Notifications You must be signed in to change notification settings

nadodev/desafio-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Programador Fullstack Unoesc - Java

Esse é o nosso desafio para a vaga de programador fullstack Java na Unoesc. Serão testadas as habilidades e qualidade de código ao transformar requisitos limitados em uma aplicação web. Faça o fork deste repositório e implemente o desafio.

DESAFIO

Você terá que desenvolver uma aplicação web responsável por registrar pessoas de um time e seus dados de formação. As pessoas serão exibidas em cards dispostos em um mural e cada uma possui um fato aleatório.

ESCOPO DO DESAFIO

@use '../1-base/main.scss'; @use '../1-base/reset.scss';

color: main.$ColorMain;

oque foi feito

  • Cadastro de time

  • Cadastro de pessoa

  • Cadastro de formação

  • Consultar os cadastros

  • mascara de CPF e telefone

  • Proteção por login

  • Mural dos times

  • Fatos aleatórios

  • fato aleatorio deve ser diferente para cada pessoa

  • validação de CPF e telefone

  • validação de email

  • Editar os cadastros

  • Excluir os cadastros

  • Gênero deve ser uma lista com valores pré-definidos;

  • Um nível de curso se refere ao grau de instrução dele: ensino médio, técnico, bacharelado, especialização

  • cada pessoa pode estar inserida em somente um time.

  • estilizar as paginas

Requisitos

  • O cadastro de time deve conter: Nome e Setor.
  • O cadastro de pessoa deve conter Nome, CPF, data de nascimento, gênero, telefone e e-mail.
    • CPF e telefone deve possuir validação e máscara;
    • O e-mail precisa ser um e-mail válido;
    • Gênero deve ser uma lista com valores pré-definidos;
  • O cadastro de formação deve conter: Nome do curso, nível do curso, data de conclusão e nome da instituição de ensino.
    • Um nível de curso se refere ao grau de instrução dele: ensino médio, técnico, bacharelado, especialização, mestrado, entre outros.
  • Um time é formado por uma ou muitas pessoas.
  • Cada pessoa pode possuir nenhuma ou muitas formações e pode estar inserida em somente um time.
  • Deve ser possível consultar, editar e excluir os cadastros.
  • A aplicação deve ser protegida por um login. Porém, não é necessário que exista uma tela para cadastro de usuários.

Mural dos times

  • O sistema deve possuir um mural onde os integrantes do time selecionado são dispostos em cards.
  • Cada card deve conter o nome da pessoa e um fato aleatório.
    • Toda vez que a tela for carregada os fatos deve ser atualizados.
    • Os fatos aleatórios devem ser consultados através da API: https://uselessfacts.jsph.pl/ através de endpoint: /api/v2/facts/random.
    • Os fatos não precisam ser traduzidos.
  • O mural deve ter como base o seguinte protótipo: mural (Pequeno)
  • Lembre-se que este é somente o protótipo do mural, seja livre para fazer as alterações que preferir. Quanto as demais telas de cadastros e apresentações não há limitações no desing, ficando a seu critério como serão construídas.

Para auxiliar no entendimento, elaboramos um diagrama de Entidade-Relacionamento: image

Tecnologias obrigatórias a serem utilizadas:

  • Java;
  • Spring Boot;
  • Maven;
  • Thymeleaf;
  • MySQL 5.7.X;
  • GIT;

AVALIAÇÃO

O código será avaliado de acordo com os critérios:

  • Build e execução da aplicação;
  • Completude das funcionalidades;
  • Qualidade de código (design pattern, manutenibilidade, clareza);
  • Histórico do GIT;
  • Boas práticas de UI (Interface com o Usuário);
  • Sentido e coerência nas respostas aos questionamentos na entrevista de apresentação do desafio realizada pelo candidato.

Não esqueça de documentar o processo necessário para rodar a aplicação.

Rodar o projeto

Fazer o clone e após isso, configurar o banco de dados

spring.datasource.url=jdbc:mysql://localhost:3306/unoesc?useSSL=false
spring.datasource.username=root
spring.datasource.password=1234

e Rodar o projeto.

About

um desafio para uma vaga de trabalho

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 51.4%
  • HTML 26.8%
  • SCSS 11.3%
  • CSS 10.5%