Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/andersonhsporto/bjcp-api
- Owner: andersonhsporto
- License: gpl-3.0
- Created: 2022-09-29T03:57:56.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-30T21:46:01.000Z (about 2 years ago)
- Last Synced: 2024-11-28T11:51:17.677Z (2 months ago)
- Topics: bjcp, commons-csv, csv, docker, docker-compose, h2-database, java, jwt, maven, oauth2, spring-boot, spring-security, swagger, swagger-ui
- Language: Java
- Homepage:
- Size: 379 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.