Git Product home page Git Product logo

teste-programador-java-pleno's Introduction

Desafio de Programador Full Stack Java

O que preciso fazer?

Vamos ser práticos e diretos, se você quer trabalhar conosco siga os passos abaixo:

  • Faça um "fork" desse projeto para sua conta GitHub.
  • Implemente o desafio descrito no tópico abaixo.
  • Faça um push para seu repositório com o desafio implementado.
  • Envie um email para ([email protected]) com cópia para ([email protected]) avisando que finalizou o desafio com a url do seu fork.

Desafio de Clientes, Produtos e Pedidos

Você deverá criar 2 aplicações para cadastramento de clientes, produtos e pedidos:

Back-end: aplicação JavaEE baseada em Web Services no padrão RESTful JAX-RS.

Front-end: Single Page Application que se comunique com estes serviços.

Requisitos:

  • Permitir o cadastro de clientes
  • Permitir o cadastro de produtos
  • Permitir o registro de pedidos para clientes

O cadastro do cliente deve conter as seguintes informações:

  • Código (Número Sequencial Automático)
  • Nome (Campo Obrigatório)
  • CPF (Validar CPF e máscara)
  • Telefone (Campo Obrigatório com máscara)
  • E-mail (Validar E-mail, máscara e campo obrigatório)

O cadastro de produto deve contar as seguintes informações:

  • Código (Número Sequencial Automático)
  • Descrição (Campo Obrigatório)
  • Unidade (Campo Obrigatório)
  • Valor (Campo Obrigatório)

Os Pedidos contém as seguintes informações:

  • Numero da Pedido (Número Sequencial Automático)
  • Data de emissão (Data automática)
  • Descrição (Apenas texto)
  • Lista de Produtos (Obrigatório ao menos 1 produto)
  • Valor Total (Deverá ser calculado através da soma do valor de todos os produtos vinculados ao pedido)

Tecnologias

Escolha umas das opções abaixo para implementar sua solução. A modelagem dos dados fica a seu critério. Não se preocupe com autenticação.

BACK-END

Opção 1

  • Aplicação JavaEE utilizando framework Quarkus(preferencial) ou Spring
  • Banco de dados PostgreSQL
  • RESTFul API ou Jersey JAX-RS

Opção 2

  • Aplicação pura Java EE (não utilize Struts, EJB, etc)
  • RESTful API JAX-RS utilizando Servlets ou framework Jersey
  • Banco de dados SQL (MySQL, PostgreSQL, HSQLDB) com JPA

FRONT-END

  • Vue.js com Nuxt (preferencialmente)
  • React
  • Single Page Application utilizando apenas HTML5 e CSS3
  • Javascript puro / JQuery (e plugins)

Utilizar Bootstrap (http://getbootstrap.com/)

Recomendações gerais:

  • Não utilize frameworks ou BD que não foram indicados
  • Para servidor de aplicação utilize Jetty ou Tomcat (Não utilize: JBOSS, Wildfly ou qualquer outro servidor. Por quê? Critério de facilidade de configuração)
  • Utilize o Maven para gerenciamento de dependências

Arquitetura e documentação

No arquivo README do projeto explique o funcionamento e a arquitetura da solução adotada na sua implementação. Descreva também os passos para executar corretamente seu projeto.

Avaliação

Entre os critérios de avaliação estão:

  • Facilidade de configuração do projeto
  • Performance
  • Código limpo e organização
  • Documentação de código
  • Documentação do projeto (readme)
  • Arquitetura
  • Boas práticas de desenvolvimento
  • Design Patterns

DICA

  • Utilize testes automatizados para inserir os dados
  • Utilize alguma ferramenta(eq. Postman) para realizar as chamadas via get/post para inserir e exibir os dados

teste-programador-java-pleno's People

Contributors

alexandrefc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.