Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jveiiga/t2s

Projeto feito para T2S.
https://github.com/jveiiga/t2s

hibernate hibernate-jpa java java-8 java8 maven packaging-jar postgresql spring spring-boot spring-boot-3-1-0 spring-boot-starter-test spring-data-jpa spring-initializr springframework

Last synced: 9 days ago
JSON representation

Projeto feito para T2S.

Awesome Lists containing this project

README

        

# Spring Initializr

Esse é o repositório da API T2Sdemo, feito com Spring Initializr.

## Endpoints

Existe 2 endpoints que podem ser utilizado para GET e POST:

`localhost:8080/containers`

`localhost:8080/movements`

Os mesmos podem ser utilizados para o PATCH e o DELETE, basta adicionar como parâmetro o id na rota:

`localhost:8080/containers/23`

`localhost:8080/movements/23`

### Cadastro
POST /containers

POST /movements

### Busca
GET /containers

GET /movements

### Edição
PATCH /containers/:id

PATCH /movements/:id

### Deleção
DELETE /containers/:id

DELETE /movements/:id


🏀 T2S - API 🏀


Este é o backend da aplicação T2Sdemo.

“Focada exclusivamente no Setor Portuario.”

##

📦 Aqui está o projeto documentado no Notion 📦



Clique para ver a documentão      

##

##

💠 E aqui o Jira desenvolvido para o projeto 💠



Clique para ver a sprint      

##

📺 Video gravado apresentando o desenvolvimento 📺



Clique para ver      

##


Instalação      

## Instalação

- Clonar repositorio
$ git clone https://github.com/jveiiga/T2Sdemo.git

Sobre o Projeto 📺

- Rodando API
É necessário que você encontre o Maven em seu editor de texto, ele vai ter uma estrura de pasta parecida com essa:

> Pasta principal
> ├── 📂 Lifecycle
> │ ├── ⚙️ clean
> │ ├── ⚙️ validate
> │ ├── ⚙️ compile
> │ ├── ⚙️ test
> │ ├── ⚙️ test-compile
> │ ├── ⚙️ package (Ao cliquar aqui, aparecerá um ícone desses ▶️ clique nele para intalar os pacotes de dependências).
> │ ├── ⚙️ verify
> │ ├── ⚙️ install
> │ ├── ⚙️ site
> │ ├── ⚙️ deploy
> ├── 📁 Plugins
> ├── 📁 Dependecies
> ├── 📁 Favorite
> ├── 📁 Profiles

- Após instalar as depêndecias do projeto é necessário encontrar o arquivo ☕️ CardapioApplication.java

> Pasta principal
> ├── 📂 src
> │ ├── 📂 main
> │ └──── 📂 java
> │ └────── 📂 com
> │ └──────── 📂 example
> │ └────────── 📂 T2Sdemo
└── ☕️ T2SdemoApplication.java (Ao cliquar aqui, aparecerá um ícone desses ▶️ no canto direito superior, clique nele e o servidor será inicializado).

-Ps: anexei ao projeto o Insomnia.json que pode ser importado no Insomnia e utilizado, mas sinta-se a vontade para utilizar o de sua prefêrencia.


Endpoints      

##

## **Endpoints**

API CRUD de Contêiners e Movimentos.

baseUrl da API: `localhost:8080`

## 🚨 Nenhuma rota necessita de autenticação 🚨

Rota Container      

## Rota para cadastro de contêiner:

`POST /containers - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
{
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
}
```

## Rota para buscar todos contêiners:

`GET /containers - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
[
{
"id": 2,
"client": "Ali Express",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
{
"id": 3,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
{
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
}
]
```

## Rota para editar um contêiner:

`PATCH /containers/:id - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
{
"id": 1,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": false,
"category": "importação"
}
```

## Rota para deletar um contêiner:

`DELETE /containers/:id - FORMATO DA RESPOSTA - STATUS 204 NO CONTENT`

```json
"No body returned for response"
```

## 🚨 Nenhuma rota necessita de autenticação 🚨

Rota Movement      

## Rota para cadastro de movimento:

`POST /movements - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
{
"id": 4,
"container": {
"id": 3,
"client": "Shopee",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
"movementType": "reposicionamento",
"startTimeDate": "2023-05-31T15:22:21.825",
"endTimeDate": "2023-05-31T15:22:21.825"
}
```

## Rota para buscar todos movimentos:

`GET /movements - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
[
{
"id": 1,
"containerId": 2,
"movementType": "gate in",
"startTimeDate": "2023-05-31T13:14:25.808",
"endTimeDate": "2023-05-31T13:14:25.808"
},
{
"id": 2,
"containerId": 3,
"movementType": "gate in",
"startTimeDate": "2023-05-31T13:17:29.448",
"endTimeDate": "2023-05-31T13:17:29.448"
},
{
"id": 4,
"containerId": 3,
"movementType": "reposicionamento",
"startTimeDate": "2023-05-31T15:22:21.825",
"endTimeDate": "2023-05-31T15:22:21.825"
}
]
```

## Rota para editar um movimento:

`PATCH /movements/:id - FORMATO DA RESPOSTA - STATUS 200 OK`

```json
{
"id": 3,
"container": {
"id": 4,
"client": "Shein",
"container_number": "TEST1234567",
"type": 20,
"status": true,
"category": "importação"
},
"movementType": "gate out",
"startTimeDate": "2023-05-31T13:19:37.16",
"endTimeDate": "2023-05-31T13:19:37.16"
}
```

## Rota para deletar um movimento:

`DELETE /movements/:id - FORMATO DA RESPOSTA - STATUS 204 NO CONTENT`

```json
"No body returned for response"
```