A API utiliza o banco de dados não relacionais mongoDB, para utilizar a API e necessario ter o banco de dados rodando em sua maquina, e também ter a autenticação com a API do spotify.
O arquivo .env e necessario para guardar as credenciais do codigo, até o momento, elas são:
Variavel de Ambiente: | Uso para: |
---|---|
client_id | autenticar com a API do spotify. |
client_secret | autenticar com a API do spotify |
mongodb_uri | Mongoose string connection |
mongo_db_test | Banco MongoDB para desinvolvimento |
json_web_secret | secret para o jwt. |
reflesh_token_secret | secret para reflesh token |
expiresIn_access_token | tempo de validação para o access token |
expiresIn_reflesh_token | tempo de validação para o reflesh token |
mongodb_test_username | username para rodar a aplicação do docker |
mongodb_test_password | password para rodar a aplicação do docker |
NODE_ENV | Utilizado para ver se a aplicação está em desenvolvimento |
PORT | Porta usada em produção |
PORT_DEV | Porta para desenvolvimento |
### Mongoose string connection
mongodb+srv://<username>:<password>@cluster0.5deos.mongodb.net/<database>
Após se conectar, você tera acessos as rotas da API.
###Endpoint
localhost:port/user
As rotas de usuarios podem ser usado passando o mesmo parametro, basta escolher qual tipo de requisição HTTP será utilizada, entre ela temos POST,GET até o momento.
Utilizada para criar um usuario.
Utilizada para retornar todos os usuario.
### Endpoint
http://localhost:port/track?q='name'
Certifique-se de emitir um token antes de tentar acessar as rotas para alterar dados de Users.
Utilize esta roda quando quiser encontrar uma musica
Query:
Exemplo: localhost:port?q=Heaven+Up+There
Adiciona uma musica a lista de musicas curtidas do usuario com:
localhost:port/track/:track_id ### PUT METHOD
Header:
- Authorization bearer
- Reflesh_Token
Deletar uma musica a lista de musicas curtidas do usuario com:
localhost:port/track/:track_id ### DELETE METHOD
Header:
- Authorization bearer
- Reflesh_Token
O token e necessario para realizar operações para um usúario, como por exemplo deletar, adicionar, modificar. Para isso utilizamos com o metodo POST:
http://localhost:port/auth/token ### POST Method
Body:
- username
- password
Para atualizarmos o token de um usuario utilizamos:
http://localhost:port/reflesh_token/:reflesh_token ### POST Method
Necessario se autenticar com um usúario através do Bearer token.
Criar uma playlist com o metodo POST:
localhost:port/playlist/create ### POST Method
Body:
- name
Header:
- Authorization bearer
- Reflesh_Token
Adicionar uma track a uma playlist:
http://localhost:port/playlist/add/track ### PUT Method
Body:
- name - Nome da Playlist
- track_id
Header:
- Authorization bearer
- Reflesh_Token