Marcsue (discussão | contribs)
Marcsue (discussão | contribs)
Sem resumo de edição
 
Linha 110: Linha 110:
* Gulp
* Gulp
<br>
<br>
= Desafios =
* '''Desafio 1'''
O primeiro desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven e GitHub.
A tarefa desse desafio é construir uma aplicação Rest com JSON e JAVA8, utilizando Spring boot e Spring MVC. Essa aplicação terá 3 serviços expostos, são eles:
1º - Serviço que recebe um objeto via JSON e guarda o mesmo em memória (não precisa ser persistente).
2º - Serviço que recebe uma requisição GET com o parâmetro "nome" e retorna o objeto correspondente em JSON.
3º - Serviço que recebe uma requisição GET com o parâmetro "cpf" e retorna o objeto correspondente em JSON.
É solicitado também que o projeto seja inserido no GitHub.
Segue abaixo as entradas e saídas esperadas para cada serviço: 
'''Serviço 1 -''' 
Method: POST
Entrada:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
Saída:
{
:"Status": 0 //0 Sucesso e 1 falha
}
'''Serviço 2 -'''
Method: GET
Entrada: nome.  Ex: {URL}/?nome=Joao
Saída:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
'''Serviço 3 -'''
Method: GET
Entrada: cpf. Ex: {URL}/?cpf=05425687435
Saída:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
<nowiki>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</nowiki>
* '''Desafio 2'''
Este desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven, GitHub, JDBC, MySql, Angular JS e HTML.
Criar um CRUD (create, read, update, delete) básico entre duas entidades, FUNCIONÁRIO e DEPARTAMENTO, onde um funcionário pode estar em um departamento e um departamento pode ter vários funcionários. 
No Front end deve ser possível:
* Cadastrar, editar e excluir funcionário e departamento;
* Listar todos funcionários e seu respectivo departamento;
* Listar todos funcionário de um departamento;
* Listar as informações do funcionário bem como as informações do departamento;
Também é solicitado que no Front end utilize-se :
* O modelo MVC com Spring MVC para integrar com o back end;
* AngularJS;
* Spring Boot.
No Back end é solicitado utilizar:
*  O modelo MVC com Spring MVC para integrar com o front end;
* JDBC para persistência (banco de dados);
* Mysql como SGBD;
* Spring Boot.
A criação do DER (diagrama entidade-relacionamento) é opcional. Abaixo segue o mínimo que se espera em cada entidade:<br>
- FUNCIONÁRIO
* Código
* Nome
* Cargo
* Idade
- DEPARTAMENTO
* Código
* Nome

Edição atual tal como às 19h18min de 19 de dezembro de 2016

Formation Plan


Common Level


  • 01. Linux -> Basic


  • 02. Java8 -> Give a look (lambdas, streams)
    • Java OO - Oriented Programing
    • JavaEE 6 and/or 7
      • JPA ("Hibernate")
      • CDI ("Spring", Tools for Dependency Injection)
      • JTA
      • EJB
      • Java Servlet
      • JAX-RS (Restful)
      • JMX (Monitoring)
      • JSF (Desirable)
    • Books:
      • Clean Code - A Handbook of Agile Software Craftsman - Robert C. Martin
      • Effective Java (2nd Edition) - Joshua Bloch
      • Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
      • Growing Object-Oriented Software, Guided by Tests - Steve Freeman e Nat Pryce
    • Good Practices




  • 05. Git



  • 07. SQL

B2C - Business To Consumer



Platforms TIC



Mobile



OSS - Operating Support System


  • FlyWay
  • JaxRS
  • JPA - Hibernate
  • Apache DeltaSpike
  • WildFly
  • AngularJS
  • NPM
  • Bower
  • Gulp


Desafios

  • Desafio 1


O primeiro desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven e GitHub.

A tarefa desse desafio é construir uma aplicação Rest com JSON e JAVA8, utilizando Spring boot e Spring MVC. Essa aplicação terá 3 serviços expostos, são eles:

1º - Serviço que recebe um objeto via JSON e guarda o mesmo em memória (não precisa ser persistente).

2º - Serviço que recebe uma requisição GET com o parâmetro "nome" e retorna o objeto correspondente em JSON.

3º - Serviço que recebe uma requisição GET com o parâmetro "cpf" e retorna o objeto correspondente em JSON.

É solicitado também que o projeto seja inserido no GitHub.

Segue abaixo as entradas e saídas esperadas para cada serviço:

Serviço 1 -

Method: POST

Entrada:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

Saída:

{

"Status": 0 //0 Sucesso e 1 falha

}

Serviço 2 -

Method: GET

Entrada: nome. Ex: {URL}/?nome=Joao

Saída:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

Serviço 3 -

Method: GET

Entrada: cpf. Ex: {URL}/?cpf=05425687435

Saída:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • Desafio 2

Este desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven, GitHub, JDBC, MySql, Angular JS e HTML.

Criar um CRUD (create, read, update, delete) básico entre duas entidades, FUNCIONÁRIO e DEPARTAMENTO, onde um funcionário pode estar em um departamento e um departamento pode ter vários funcionários.


No Front end deve ser possível:

  • Cadastrar, editar e excluir funcionário e departamento;
  • Listar todos funcionários e seu respectivo departamento;
  • Listar todos funcionário de um departamento;
  • Listar as informações do funcionário bem como as informações do departamento;


Também é solicitado que no Front end utilize-se :

  • O modelo MVC com Spring MVC para integrar com o back end;
  • AngularJS;
  • Spring Boot.


No Back end é solicitado utilizar:

  • O modelo MVC com Spring MVC para integrar com o front end;
  • JDBC para persistência (banco de dados);
  • Mysql como SGBD;
  • Spring Boot.


A criação do DER (diagrama entidade-relacionamento) é opcional. Abaixo segue o mínimo que se espera em cada entidade:

- FUNCIONÁRIO

  • Código
  • Nome
  • Cargo
  • Idade


- DEPARTAMENTO

  • Código
  • Nome