Projeto em Back End em NodeJs com banco de dados MongoDB

šŸ’» Projeto Desafio deste projeto que se resume em uma aplicaĆ§Ć£o de uma webagenda, onde o usuario tem como a finalidade inserir dados como:

  - Nome
  - Sobrenome
  - Data de Nascimento
  - Email
  - EndereƧo
  - Telefone

Todo Projeto em Back End Foi criado com o Node, onde foram feitas algumas Rotas para Usuarios e Contatos:

  - Rota 1 - Retorna Lista de Usuarios
  - Rota 2 - Retorna Lista de Contatos
  - Rota 3 - Cria uma rota de sessĆ£o exclusiva para autenticaĆ§Ć£o

ComeƧando...

Par Inicio do projeto, foram instalada as seguintes Dependencias:

  - npm install CORS
  - npm install bcryptjs
  - npm install dotenv
  - npm install express
  - npm install jsonwebtoken
  - npm install mongoose
  - npm install nodemon
  - npm install sucrase

Iniciando o projeto

Execute o projeto com:

	npm run dev
	# ou
	yarn dev

Para rodar a API em rede Abra http://localhost:5000 em seu browser para ver o resultado. Esta Ć© a rota inicial backende, para acessar as demais rotas basta ultilizar os seguintes caminhos.

   - Necessario o auxilio do Insomnia par abrir a API, sera nescessario logar com o usuario para que as demais rotas sejam liberadas.
   -As rotas jas estao com criptografias onde foi ultilizado a dependencia do "bcryptjs" para realizar este procedimento, a senha 
tambem esta sendo convertida em token via JWT (jsonwebtoken).

   - Com o insominia aberto, sera necessario criar uma request do tipo POST para que seja gerado o token.
   - Para iniciar a sessĆ£o necessario colocar o seguinte endeteƧo: "http://localhost:5000/sessions" em seguida informar como na imagem o email e o password.
   - Email: "email": "web@teste.com",
   - Senha: "password": "123456"

 - Em seguida sera gerado o TOKEN do usuario, este token devera ser inserido na Bearer, para que seja possivel o usuario manipular as rotas.

  - Ao inserir o Tokent o usuario poderar navegar pelas seguintes rotaas:
  - http://localhost:5000/sessions
  - http://localhost:5000/users - Retorna o usuario
  - http://localhost:5000/users/ID_DO_USUSARIO/contatos - Onde seja mostrado a lista de contatos deste usuario.

O Projeto foi entregue rodaando na plataforma do Heorku (https://www.heroku.com/)

   - Este projeto pode rodar em rede local com auxilio do nodemon e sucrase 
   - Para funcionamento do node no Heroku utilizei a denpencia DOTENV para criar variaveis de ambientes, por questĆ£o de seguranƧa nĆ£o e boas praticas nĆ£o Ć© recomendavel passar a informaĆ§Ć£o de conexĆ£o com o banco de dados MongoDb. 
   - Para rodar no Heroku, inserir na plataforma as variaveis de ambientes necessarias para conxeĆ£o junto ao banco de dados, que se encontra na plataforma do MongoDb. 

   - Projeto rodando em ambiente de desenvolvimento.

   - Link do projeto Front End rodando no netlify: https://webagenda.netlify.app/ 
   - ObservaĆ§Ć£o o projeto em Front End encontra-se neste repositorio: https://github.com/ffernandescs/frontend-web-agenda-