Formation Plan


Common Level


  • 01. Linux -> Basic
    • Tutoria: Josiane
  • 02. Java8 -> Give a look (lambdas, streams)
    • Tutoria: Kethllen e Mauro Ramos
      • 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:
      • Java 8 – Ensino Didático - Desenvolvimento e Implementação de Aplicações - Sérgio Furgeri
        • 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
    • Tutoria: Fellipe Gurgel



  • 07. SQL

Platforms TIC

  • Marcos Guimarães




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