Sistema desenvolvido para o teste proposto pela empresa Nave.
O banco de dados possui 3 tabelas: usuarios, navers e projetos.
USUARIOS:
NAVERS:
PROJETOS:
As seguintes ferramentas foram usadas na construção do projeto:
Criar arquivo no diretório base chamado .env , este arquivo irá conter as informações do banco de dados.
$ nano ./.env
# https://www.mongodb.com/
DB_CONNECT = mongodb+srv://LOGIN:[email protected]/NAMEDATABASE?retryWrites=true&w=majority
TOKEN_SECRET = ASJDLKASDJ
JWT_COOKIE_EXPIRES_IN=90
# Clonar o repostório
$ git clone [email protected]:lucasdmarten/desafioMongoDB.git
# Entre na pasta do projeto
$ cd desafioMongoDB
# Instale todas as bibliotecas
$ npm install --save-dev nodemon
$ npm install express mongoose dotenv bcryptjs cookie-parser jsonwebtoken @hapi/joi
# Runserver...
$ npm start
Registro de usuario:
POST http://localhost:3000/api/register/
Aqui sera feito login com base no cadastro feito préviamente, e será liberado o token access.
POST http://localhost:3000/api/user/login/
POST http://localhost:3000/api/navers/create
POST http://localhost:3000/api/projects/create
Aqui você pode adicionar participantes do projeto, no caso os navers. Escolha o nome do projeto pelo parametro na url e adicione o username do naver na body.
POST http://localhost:3000/api/projects/add_naver/:name_project
# O usuario poderá criar apenas um naver, e um naver está relacionado a n projetos
GET http://localhost:3000/api/navers
# O usuario poderá criar apenas um naver, e um naver está relacionado a n projetos
GET http://localhost:3000/api/navers/show/:username
Requer o field id_projeto e id_naver na body
# Alterar naver vinculado ao usuario autenticado
PUT http://localhost:3000/api/naver/update/
Requer id do naver a ser deletado
# DELETE - Deletar seu próprio naver vinculado ao usuario autenticado
http://localhost:3000/api/navers/delete/
#
GET http://localhost:3000/api/projects/
# Alterar nome projeto
# escolha o nome do projeto a ser alterado pela url, e na body o novo nome
PUT http://localhost:3000/api/projetos/update/:name_projects