Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/andersonhsporto/bjcp-api

API Rest With "Beer Judge Certification Program" Data
https://github.com/andersonhsporto/bjcp-api

bjcp commons-csv csv docker docker-compose h2-database java jwt maven oauth2 spring-boot spring-security swagger swagger-ui

Last synced: 7 days ago
JSON representation

API Rest With "Beer Judge Certification Program" Data

Awesome Lists containing this project

README

        

# BJCP API




 BJCP API é uma [API REST](https://www.redhat.com/pt-br/topics/api/what-is-a-rest-api)
que utiliza o framework
[Spring](https://spring.io/projects/spring-boot) e dados
do [Beer Judge Certification Program](https://github.com/andersonhsporto/BJCP-csv)
para fornecer informações sobre estilos de cerveja.

## Ferramentas Utilizadas

* [JAVA 18](https://www.java.com/pt-BR/) - Linguagem de programação (JDK 18).
* [Spring](https://spring.io/projects/spring-boot) - Framework MVC.
* [Apache Maven 3.8.6](https://maven.apache.org/) - Gerenciador de dependências.
* [IntelliJ](https://www.jetbrains.com/idea/) - IDE para desenvolvimento.
* [Docker](https://www.docker.com/) - Serviço de virtualização.
* [H2](https://www.h2database.com/html/main.html) - Banco de dados em memoria.

## Métodos

Requisições para a API devem seguir os padrões:
| Método | Rota | Descrição |
|:---: |:---: |:---: |
| `GET` | `/api/v1/styles`| Retorna uma lista ( JSON ) com os dados de todos os estilos de cervejas disponíveis no BJCP |

## Inicialização

Clone o projeto utilizando a flag ```--recursive``` para clonar o submodulo do [BJCP-csv](https://github.com/andersonhsporto/BJCP-csv).

Para iniciar a api utilize o comando:

```sh
docker-compose up
```

Este comando irá iniciar um contêiner com a api na porta `8080`.

Para gerar o artefato da api utilize o comando:

```sh
mvn clean install
```

Este comando irá gerar um arquivo `jar` na pasta `target` do projeto.

## Dependências

 As dependências são declaradas no
arquivo [pom.xml](https://github.com/andersonhsporto/BJCP-api/blob/master/pom.xml).

| Dependência | Descrição | Versão |
| :----------------------------: | :---------------------------------------------------------------: |:-------:|
| H2database | Banco de dados relacional escrito em Java que funciona em memória | 2.1.214 |
| Spring-boot-starter-data-jpa | Responsável por conectar a aplicação Spring como o banco de dados | 2.7.4 |
| Spring-boot-starter-web | Responsável pela camada MVC do Spring | 2.7.4 |
| Springfox-swagger-ui | Documentação JSON API para aplicações Spring | 3.0.0 |
| SpringSecurity | Responsável pela segurança da API | 6.0 |

## Segurança

 A API utiliza o Spring Security para autenticação e autorização de usuários.
Para configurar o Oauth2 edite o arquivo appllication.yaml e inclua os ids e segredo do cliente fornecidos pelo google.

***

Minhas informações de contato 📬





The 2015 guidelines were replaced by the 2021 guidelines, so the prior version is no longer valid. you can find the current version on www.bjcp.org

Copyright © 2015, BJCP, Inc.
The BJCP grants the right to make copies for use
in BJCP-sanctioned competitions or for educational/judge training purposes.
All other rights reserved.