Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f9c9eff
UPDATE!
kaka-jaques Sep 28, 2022
d3e48b7
Users and Carriers - Get and Post
mat-felipe Sep 29, 2022
f31c191
Merge branch 'quasela' into mateus
kaka-jaques Sep 29, 2022
92a3e42
Merge branch 'quasela' of https://github.com/Team-Roxo/Project_TMS_Fu…
kaka-jaques Sep 29, 2022
381f168
Merge pull request #36 from Team-Roxo/mateus
kaka-jaques Sep 29, 2022
7ac0742
UPDATE!
kaka-jaques Sep 29, 2022
1c1e51c
Merge pull request #37 from Team-Roxo/kaka
kaka-jaques Sep 29, 2022
e38dae5
UPDATE!
kaka-jaques Sep 29, 2022
b5187c6
Merge pull request #38 from Team-Roxo/kaka
kaka-jaques Sep 29, 2022
1e9e2c3
Merge branch 'quasela' into Cristian
kaka-jaques Sep 29, 2022
5ae4667
Merge pull request #39 from Team-Roxo/Cristian
kaka-jaques Sep 29, 2022
befe0f9
Merge pull request #41 from Team-Roxo/cristian
kaka-jaques Sep 29, 2022
96dee6d
WATER MAKER OF API!
kaka-jaques Sep 29, 2022
a29160c
UPDATE MARK!
kaka-jaques Sep 30, 2022
efd4853
UPDATE!
kaka-jaques Sep 30, 2022
468fe95
UPDATE
kaka-jaques Sep 30, 2022
27a5c59
Merge pull request #42 from Team-Roxo/kaka
kaka-jaques Sep 30, 2022
eeaab0b
Atualizações no Edit e no About Us
Cristian-Baade Oct 1, 2022
3eb18ff
UPDATE RELATORIOS!
kaka-jaques Oct 1, 2022
82fac0d
Merge pull request #43 from Team-Roxo/kaka
kaka-jaques Oct 1, 2022
23d7728
Atualização
bruno-roberto Oct 1, 2022
d56d46d
Merge branch 'quasela' into cristian
kaka-jaques Oct 1, 2022
8f2c6af
Merge pull request #45 from Team-Roxo/cristian
kaka-jaques Oct 1, 2022
1ab4e9c
Merge pull request #47 from Team-Roxo/bruno
kaka-jaques Oct 1, 2022
3ae76c4
Updated
mat-felipe Oct 3, 2022
9aec9cb
Merge branch 'quasela' of https://github.com/Team-Roxo/Project_TMS_Fu…
mat-felipe Oct 3, 2022
33bf223
Updated Carriers and Users
mat-felipe Oct 3, 2022
1c23cbe
UPDATE!
kaka-jaques Oct 3, 2022
e2664b7
Merge pull request #48 from Team-Roxo/kaka
kaka-jaques Oct 3, 2022
c276ce7
Merge pull request #49 from Team-Roxo/mateus
kaka-jaques Oct 3, 2022
ea47c46
UPDATE!
kaka-jaques Oct 3, 2022
af4ab70
Recent quotes and register
mat-felipe Oct 3, 2022
fea478e
Merge pull request #50 from Team-Roxo/kaka
kaka-jaques Oct 3, 2022
7adaf6e
Merge pull request #51 from Team-Roxo/mateus
kaka-jaques Oct 3, 2022
dafbd25
updated
mat-felipe Oct 3, 2022
0290671
Merge pull request #52 from Team-Roxo/mateus
kaka-jaques Oct 3, 2022
0356c40
UPDATE!
kaka-jaques Oct 4, 2022
5757d3c
Updated find name carrier
mat-felipe Oct 4, 2022
eab443b
Merge pull request #53 from Team-Roxo/kaka
kaka-jaques Oct 4, 2022
a8af92b
Merge pull request #54 from Team-Roxo/mateus
kaka-jaques Oct 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 34 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
>
>><b>3.1. <a href="#soft_google"> GOOGLE CLOUD</b></a>
>>
>>><b>3.1.1. Google API</b>
>>><b>3.1.1. <a href="#google_api"> Google API </a></b>
>>>
>>>><b>3.1.1.1. Directions API</b>
>>>><b>3.1.1.1. <a href="#directions"> Directions API </a></b>
>>>>
>>>><b>3.1.1.2. Distance Matrix API</b>
>>>><b>3.1.1.2. <a href="#distance"> Distance Matrix API </a></b>
>>>>
>>>>
>>>><b>3.1.1.3. Compute Engine API</b>
Expand Down Expand Up @@ -109,7 +109,7 @@

## 1 - RESUMO

<details id="resume">
<details open id="resume">
<summary> <b>1.1 - Da Licença, Disponibilidade e Finalidade </b> </summary>

#### &nbsp;&nbsp;&nbsp;&nbsp; Esse projeto foi desenvolvido pelo grupo Roxo da Turma Java Noturno de 2022, composto por <b>Bruno Roberto, Cristian Schauffert, Kalil Fakhouri e Mateus Felipe</b> com a mentoria do <b> professor Oliota</b>, visando apenas a demonstração dos conhecimentos técnicos adquiridos durante o curso e a apresentação da etapa final à empresas.
Expand All @@ -122,7 +122,7 @@

</details>

<details id="stack">
<details open id="stack">
<summary> <b>1.2 - Das Tecnologias Utilizadas</b> </summary>

#### &nbsp;&nbsp;&nbsp;&nbsp; Durante o curso foi utilizado diversas tecnologias, métodos ágeis e ferramentas de desenvolvimento tais como:
Expand Down Expand Up @@ -156,7 +156,7 @@
<details open id="org_geral">
<summary><b>2.1 - Visão Geral</b></summary>

#### &nbsp;&nbsp;&nbsp;&nbsp;
#### &nbsp;&nbsp;&nbsp;&nbsp;

</details>

Expand All @@ -175,9 +175,32 @@
<summary><b>3.1 - GOOGLE CLOUD</b></summary>
<br>

>## <b>3.1.1 - Google API
>>### <b>3.1.1.1 - Directions API </b>
>>
>>#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directions API
<a href="#">Clique aqui para aprender a configurar o Google Cloud</a>

</summary>
>## <b id="google_api"> 3.1.1 - Google API </b>
>>### <b id="directions"> 3.1.1.1 - Directions API </b>
>>
>>#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A API Directions é um serviço da Web que usa uma solicitação HTTP para retornar rotas no formato JSON ou XML entre os locais. As rotas estão disponíveis de várias maneiras:
>>
>> * #### como uma API independente.
>> * #### como parte da API Maps JavaScript do lado do cliente.
>> * #### para uso do servidor como parte das bibliotecas de cliente dos Serviços da Web do Google Maps.
>>
>> #### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Esta API aceita tanto endereços do tipo texto como também latitudes e longitudes previamente formatadas de acordo com o padrão estabelecido.
>>
>>### <b id="distance">3.1.1.2 - Distance Matrix API </b>
>>
>>#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A API Distance Matrix fornece a distância e o tempo de viagem de uma matriz de origens e destinos e consiste em linhas que contêm os valores duration e distance para cada par. A Distance Matrix está disponível de várias formas:
>>
>> * #### como uma API independente.
>> * #### como parte da API Maps JavaScript do lado do cliente.
>> * #### para uso do servidor como parte das bibliotecas de cliente dos Serviços da Web do Google Maps.
>>
>> #### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A API retorna informações com base na rota recomendada entre os pontos inicial e final. Você pode solicitar dados de distância para diferentes meios de transporte, solicitar dados de distância em diferentes unidades, como quilômetros ou milhas, e estimar o tempo de viagem no trânsito.
>>
>>### <b id="compute"> 3.1.1.3 - Compute Engine API </b>
>>
>> #### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cria e executa máquinas virtuais no Google Cloud Platform. O Google Compute Engine oferece máquinas virtuais que são executadas nos data centers do Google conectados à rede de fibra óptica global. As ferramentas e o fluxo de trabalho oferecidos permitem o escalonamento de instâncias únicas para computação em nuvem com balanceamento de carga global.
>> #### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Essas VMs são inicializadas rapidamente, vêm com armazenamento em disco permanente e proporcionam desempenho consistente. As máquinas estão disponíveis em muitas configurações, incluindo tamanhos predefinidos e também podem ser criadas com tipos de máquinas personalizados de acordo com suas necessidades específicas.
>>
</details>
9 changes: 9 additions & 0 deletions backend/TMSProject/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@
<artifactId>jackson-databind</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,47 @@
package br.com.entra21.teamroxo.TMSProject;

import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

import br.com.entra21.teamroxo.TMSProject.interfaces.PessoaRepository;
import br.com.entra21.teamroxo.TMSProject.template.Login;
import br.com.entra21.teamroxo.TMSProject.template.Pessoa;

@SpringBootApplication
@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class TmsProjectApplication implements CommandLineRunner {

private static PessoaRepository pessoaRepository;

public static ArrayList<Login> login = new ArrayList();

@Autowired
private JdbcTemplate jdbc;


public static void main(String[] args) {
SpringApplication.run(TmsProjectApplication.class, args);
}

@Override
public void run(String... args) throws Exception {

String content;

URL url = new URL("https://team-roxo.github.io/assets/mark.html");

BufferedReader page = new BufferedReader(new InputStreamReader(url.openStream()));
System.out.println("\n");
while ((content = page.readLine()) != null) {
System.out.println(content);
}

System.out.println("\n");

}

@Bean
public PasswordEncoder getPasswordEncoder() {

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
return encoder;

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,19 @@
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import br.com.entra21.teamroxo.TMSProject.interfaces.CarriersRepository;
import br.com.entra21.teamroxo.TMSProject.template.Carriers;
import br.com.entra21.teamroxo.TMSProject.template.Pessoa;

@RestController
@CrossOrigin(origins = "*")
Expand All @@ -23,16 +27,20 @@ public class CarriersControllers {

@GetMapping()
public List<Carriers> listCarriers(){

return carriersRepository.findAll();

}

@GetMapping("/{id}")
public Carriers carrier(@PathVariable("id") int id) {
return carriersRepository.findCarrierName(id);
}

@PostMapping()
public Carriers postCarrier(@RequestBody Carriers carrier) {
@ResponseStatus(code = HttpStatus.CREATED)
public Carriers register(@RequestBody Carriers dados) {

return carriersRepository.save(carrier);
return carriersRepository.save(dados);

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,26 +54,28 @@ public List<Login> listAll() {
@ResponseStatus(code = HttpStatus.OK)
public @ResponseBody List<Login> login(@RequestBody Login credentials){

List<Login> response = new ArrayList<Login>(loginRepository.findAll()).stream()
.filter(login -> (login.getUser().equals(credentials.getUser())) &&
login.getSenha().equals(credentials.getSenha()))
.toList();
List<Login> response = loginRepository.findLogin(credentials.getUser(), credentials.getSenha()).stream().toList();

response.forEach(pessoa -> {
setMaturidadeLvl3(pessoa);
});

if(!response.isEmpty()) {
CountVisitors count = new CountVisitors();
count.setUser(credentials.getUser());
count.setTime(LocalTime.now());
count.setDate(LocalDate.now());
countVisitorsRepository.save(count);
}

return response;

}

@PostMapping("/init")
public CountVisitors bounce(@RequestBody CountVisitors visitor) {

CountVisitors count = new CountVisitors();
count.setUser(visitor.getUser());
count.setTime(LocalTime.now());
count.setDate(LocalDate.now());
count.setBounceRate(true);
return countVisitorsRepository.save(count);

}

private void setMaturidadeLvl3(Login pessoa) {

ArrayList<String> headers = new ArrayList<>(Arrays.asList(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package br.com.entra21.teamroxo.TMSProject.controllers;

import java.time.LocalDate;
import java.time.temporal.TemporalAdjuster;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
Expand All @@ -25,8 +30,10 @@
import br.com.entra21.teamroxo.TMSProject.TmsProjectApplication;
import br.com.entra21.teamroxo.TMSProject.interfaces.CountVisitorsRepository;
import br.com.entra21.teamroxo.TMSProject.interfaces.PessoaRepository;
import br.com.entra21.teamroxo.TMSProject.template.CountVisitors;
import br.com.entra21.teamroxo.TMSProject.template.ItemNivel3;
import br.com.entra21.teamroxo.TMSProject.template.Pessoa;
import br.com.entra21.teamroxo.TMSProject.template.RegisterQuote;

@RestController
@CrossOrigin(origins = "*")
Expand Down Expand Up @@ -62,12 +69,37 @@ public long numberVisitors() {
return countVisitorsRepository.count();
}

@GetMapping("/birthnow")
public List<Pessoa> birthNow(){
return pessoaRepository.findBirth(LocalDate.now());
}

@GetMapping("/birthmonth")
public List<Pessoa> birthMonth(){
return pessoaRepository.findBirthMonth(LocalDate.now().withMonth(LocalDate.now().getMonthValue()).with(TemporalAdjusters.firstDayOfMonth()),
LocalDate.now().withMonth(LocalDate.now().getMonthValue()).with(TemporalAdjusters.lastDayOfMonth()));
}

@GetMapping("/bounce")
public float bounceRate() {
List<CountVisitors> bounce = new ArrayList<CountVisitors>(countVisitorsRepository.findAll().stream()
.filter(count -> count.getBounceRate() == true)
.toList());

return (bounce.size()*100)/countVisitorsRepository.count();

}

@PostMapping("/disbounce/{id}")
public boolean disBounce(@PathVariable("id") int id) {
countVisitorsRepository.updateBounce(id);
return false;
}

@PostMapping()
@ResponseStatus(code = HttpStatus.CREATED)
public Pessoa register(@RequestBody Pessoa dados) {

return pessoaRepository.save(dados);

}

private List<Pessoa> obterListaCompleta() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
Expand All @@ -30,16 +31,18 @@ public class QuoteController {

@PostMapping("/recent")
public RecentQuote recentPackage(@RequestBody RecentQuote quote) {

return recentQuoteRepository.save(quote);

}

@PostMapping("/register")
public RegisterQuote registerPackage(@RequestBody RegisterQuote quote) {

quote.setPost(LocalDate.now());
return registerQuoteRepository.save(quote);

}

@GetMapping("/recent/{id}")
public List<RecentQuote> recentQuote(@PathVariable("id") int id){
return recentQuoteRepository.findOwnQuote(id);
}

@GetMapping("/go")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import javax.net.ssl.HttpsURLConnection;

Expand All @@ -16,10 +13,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.util.JSONPObject;

@RestController
@CrossOrigin(origins = "*")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
package br.com.entra21.teamroxo.TMSProject.interfaces;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import br.com.entra21.teamroxo.TMSProject.template.Carriers;

@Repository
@EnableJpaRepositories
public interface CarriersRepository extends JpaRepository<Carriers, Integer> {

@Query("FROM Carriers WHERE id = :idCarrier")
public Carriers findCarrierName(@Param("idCarrier") int idCarrier);

}
Loading