My Crypto List API é uma simples API implementada com Spring Boot 2.7.0 e o banco NoSQL Redis.
Sua função é buscar informações de criptomoedas no serviço Coin Paprika.
- Spring Boot 2.7.0;
- Redis;
- OpenAPI v3 (Swagger);
Para rodar a API, basta ter o docker-compose instalado em sua máquina. Se for o caso, vá para a pasta docker:
cd docker/ && docker-compose up -d
Remova o argumento "-d" do comando acima, se quiser ver os logs do console.
É só configurar as variáveis de ambiente no arquivo configs.env. Após, você pode usar a imagem mais recente do repositório llucasbrandao/mycryptolistapi e executá-la com o Docker padrão.
Lembre-se de que é necessário especificar um banco de dados Redis.
Para a execução tradicional, é necessário configurar as várias de ambiente no arquivo configs.env, ou no application-prod.yml.
Com isso, você pode compilar a aplicação usando o Maven:
cd pasta_do_projeto/ && ./mvnw -Pprod clean install -Dmaven.test.skip=true
Depois que a compilação for concluída, inicie a API:
java -jar -Dspring.profiles.active=prod && target/mycriptolist-0.0.1-SNAPSHOT.jar
Lembre-se de que é necessário especificar um banco de dados Redis.
Todos os endpoints podem ser consultados através do OpenAPI v3 do projeto.
Depois que ele estiver online, vá para Swagger.
Os endpoints abertos são:
- [POST] - /login
- [POST - /api/users/newUser
Ao cadastrar um usuário, é preciso preencher apenas o name, email, username e password.
[POST - /api/users/newUser
{
"name": "",
"email": "",
"loginDetails": {
"username": "",
"password": ""
}
}
O login deve ser feito enviando-se o username e password para o endpoint de login:
[POST] - /login
{
"username": "",
"password": ""
}
Se os dados forem válidos, um bearer token será devolvido no header da response. É com ele que você deverá se autenticar nos outros endpoints.
Processo de CI integrado ao projeto, para deploy com Github, CircleCI and Kubernetes.