Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jjgouveia/organizador-de-times-ibm
Projeto de conclusão do Bootcamp de Desenvolvedor Jr da IBM, em que desenvolvi uma API Restful, com testes unitários e documentação no Swagger.
https://github.com/jjgouveia/organizador-de-times-ibm
heroku-deployment hibernate-jpa junit5 spring-boot swagger-ui
Last synced: 18 days ago
JSON representation
Projeto de conclusão do Bootcamp de Desenvolvedor Jr da IBM, em que desenvolvi uma API Restful, com testes unitários e documentação no Swagger.
- Host: GitHub
- URL: https://github.com/jjgouveia/organizador-de-times-ibm
- Owner: jjgouveia
- Created: 2023-09-17T05:41:58.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-09-18T21:42:13.000Z (over 1 year ago)
- Last Synced: 2024-11-14T14:22:25.250Z (3 months ago)
- Topics: heroku-deployment, hibernate-jpa, junit5, spring-boot, swagger-ui
- Language: Java
- Homepage: https://organizadordetimes-edee049df2b8.herokuapp.com/
- Size: 92.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API Organizador de Times
### Resolução do Bootcamp de Desenvolvedor Jr da [IBM](https://www.ibm.com/br-pt)
## Descrição
API para gerenciamento de times de futebol e seus jogadores de acordo com as seguintes regras:Cada time deve ser formado com jogadores cujo sobrenome comece com a mesma letra. Ou seja, jogadores com sobrenomes começando com 'A' formam um time, jogadores com 'B' formam outro, e assim por diante.
Mas aqui está a reviravolta: você só pode ter UM jogador com o mesmo sobrenome começando com a mesma letra em um time. Se houver mais de um jogador com o mesmo sobrenome começando com a mesma letra, eles não podem estar no mesmo time.
## Deploy
A API está hospedada na Heroku e pode ser acessada [aqui](https://organizadordetimes-edee049df2b8.herokuapp.com/).O Front-end está hospedado na Vercel e pode ser acessado [aqui](https://organizadordetimes.vercel.app/)
Link para o repositorio do front-end [aqui](https://github.com/jjgouveia/organizador-de-times)
## Documentação da API (Swagger)
A documentação da API pode ser acessada [aqui](https://organizadordetimes-edee049df2b8.herokuapp.com/swagger-ui.html).## Tecnologias
- Java 17
- Spring Boot 3.1.3
- H2 Database
- Maven
- JUnit 5
- Swagger
- JPA (Hibernate)
## Como executar
### Pré-requisitos
- Java 17
- Maven### Executando
- Clone o repositório
- Aplicação conta com implementação de testes automatizados. Execute-os com o comando `mvn test` na pasta raiz do projeto
- Execute o comando `mvn spring-boot:run` na pasta raiz do projeto
- Acesse a documentação da API em `http://localhost:8080/swagger-ui.html`
- Acesse o banco de dados em `http://localhost:8080/h2-console`
- A url do H2 é `jdbc:h2:mem:organizador-de-times` com a senha `1234`## Endpoints
### Times
#### GET /times
Retorna todos os times cadastrados e seus jogadores.
### Jogadores
#### POST /jogador
Cadastra um novo jogador.
#### DELETE /jogador/all
Deleta todos os jogadores cadastrados.## Exemplos
### Cadastrar um novo jogador
#### POST /jogador
```json
{
"nome": "Diego Souza"
}
```
#### Response
A resposta não possui corpo e retorna o status 201 (Created).### Deletar todos os jogadores
#### DELETE /jogador/all
#### Response
A resposta não possui corpo e retorna o status 202 (Accepted).### Listar todos os times
#### GET /times
#### Response
Retorna o body e o status 200 (OK).
```json
[
{
"Time S": [
"Diego Souza"
]
}
]
```## Autor
[Jarbas Gouveia](https://github.com/jjgouveia)