Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/jveiiga/t2s
- Owner: jveiiga
- Created: 2023-05-30T22:21:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-01T20:26:54.000Z (about 1 year ago)
- Last Synced: 2023-11-01T21:27:57.208Z (about 1 year ago)
- Topics: 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
- Language: Java
- Homepage: https://www.notion.so/Teste-pr-tico-processo-seletivo-428930dec1da477793908604d1b2bd29
- Size: 137 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 📦
##
##
💠 E aqui o Jira desenvolvido para o projeto 💠
##
📺 Video gravado apresentando o desenvolvimento 📺
##
## 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**
API CRUD de Contêiners e Movimentos.
baseUrl da API: `localhost:8080`
## 🚨 Nenhuma rota necessita de autenticação 🚨
## 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 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"
```