API para marketplace de cosméticos, produtos de beleza e de higiêne. Escrita na linguagem Node.js e no framework Express.js, com banco de dados MongoDB.
- Clone o repositório
git clone https://github.com/dev-gsilv/futurabeutyhubapi
- Instale as dependências
npm install
- Crie um banco de dados gratuito no MongoDB Atlas, clique aqui. Veja um tutorial aqui;
- Na raiz do projeto clonado, crie um arquivo de variáveis de ambiente
.env
; - Adicione as seguintes variáveis de ambiente:
DB_USER
: nome de usuário de seu banco de dados MongoDB;DB_PASS
: senha de seu banco de dados MongoDB;DOMINIO_CLUSTER
: nome de domínio do cluster de seu banco de dados MongoDB. Semelhante a clustername0.xmwufns.mongodb.net;JWT_SECRET
: uma string aleatória para configuração do token de acesso JWT.
Exemplo do conexion string fornecido pelo MongoDB.
Exemplo de preenchimento do arquivo .env
- Inicie o servidor
npm start
- Sua API estará rodando localmente, teste a resposta do servidor aqui.
POST /login
Parâmetro | Tipo | Descrição |
---|---|---|
email |
string |
Obrigatório. E-mail e identificação única do usuário |
senha |
string |
Obrigatório. Senha do usuário |
POST /registrar
Parâmetro | Tipo | Descrição |
---|---|---|
nome |
string |
Obrigatório. Nome do usuário. |
email |
string |
Obrigatório. E-mail e identificação única do usuário |
senha |
string |
Obrigatório. Senha do usuário |
POST /produtos
Autenticação via token JWT*
Parâmetro | Tipo | Descrição |
---|---|---|
nome |
string |
Obrigatório. Nome do produto. |
marca |
string |
Marca do produto. |
ingredientes |
string |
Composição do produto. |
indicacao |
string |
Indicações de uso. |
volume |
string |
Volume ou peso do produto. |
preco |
decimal |
Obrigatório. Valor decimal do produto. |
disponibilidade |
boolean |
Obrigatório. Indicador de disponibilidade do produto. |
categoria |
string |
Obrigatório. Categoria(s) do produto. |
imagem |
string |
Obrigatório. Imagem ilustrativa do produto. |
GET /produtos
Parâmetro | Tipo | Descrição |
---|---|---|
categoria |
string |
Categoria do produto. Usado isoladamente ou em associação com idUsuario |
idUsuario |
string |
ID do usuário criador do produto. Usado isoladamente ou em associação com categoria |
GET /produtos/:id/imagem
Parâmetro | Tipo | Descrição |
---|---|---|
idProduto |
string |
ID do produto. |
PUT /produtos/:id
Autenticação via token JWT*
Parâmetro | Tipo | Descrição |
---|---|---|
nome |
string |
Nome do produto. |
marca |
string |
Marca do produto. |
ingredientes |
string |
Composição do produto. |
indicacao |
string |
Indicações de uso. |
volume |
string |
Volume ou peso do produto. |
preco |
decimal |
Valor decimal do produto. |
disponibilidade |
boolean |
Indicador de disponibilidade do produto. |
categoria |
string |
Categoria(s) do produto. |
imagem |
string |
Imagem ilustrativa do produto. |
DELETE /produtos/:id
Autenticação via token JWT*
Parâmetro | Tipo | Descrição |
---|---|---|
idProduto |
string |
ID do produto. |
*Para rotas com autenticação por token
Tipo Chave Valor Header authorization JWT fornecido no login