Skip to content

About

A Rest API that manages the usage of contact related to users. This system used tecnologies such as JWT, Bcrypt, Node.JS, Express, Git and Github

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

📇 Sistema de Autenticação e Contatos

Uma API RESTful no backend para gerenciamento de contatos, com autenticação por JWT.


🚀 Visão Geral do Projeto

Esta é uma API RESTful desenvolvida com Node.js e Express que permite:

  • Autenticação de Usuários: Cadastro, login e validação com JWT.
  • Gestão de Contatos: Operações de CRUD (Criar, Ler, Atualizar e Deletar) para contatos, vinculados a cada usuário autenticado.
  • Segurança: Senhas criptografadas com Bcrypt.
  • Testes: Endpoints prontos para serem testados com o REST Client (VS Code).

⚙️ Tecnologias Utilizadas

  • Node.js e Express: Ambiente de execução e framework web.
  • MongoDB e Mongoose: Banco de dados NoSQL e seu ODM.
  • JWT (JsonWebToken): Padrão para autenticação.
  • Bcrypt: Para criptografia de senhas.
  • dotenv: Gerenciamento de variáveis de ambiente.
  • REST Client: Extensão do VS Code para testes de requisições HTTP.
  • Git e GitHub: Controle de versão.
  • README.md: Documentação do projeto e das requisições pelo client.rest.

🏗️ Arquitetura do Projeto

A estrutura de pastas foi organizada para separar as responsabilidades e facilitar a manutenção e escalabilidade.

  • config/: Contém a lógica de conexão com o MongoDB usando Mongoose.
  • controllers/: Gerencia a lógica de negócio da aplicação, como a manipulação de dados de usuários e contatos.
  • middleware/: Responsável por funções que interceptam as requisições, como a validação do token JWT e o tratamento de erros.
  • models/: Define os esquemas de dados (Schemas Mongoose) para usuários e contatos.
  • routes/: Organiza todas as rotas da API (rotas públicas, privadas e protegidas).
  • requests/: Contém os arquivos .rest para realizar testes de endpoints de forma isolada e prática.
  • server.js: O arquivo principal que inicializa o servidor, carrega os middlewares e as rotas.

▶️ Guia de Instalação e Uso

Siga os passos abaixo para clonar e rodar o projeto em sua máquina.

  1. Clone o repositório:

    git clone <URL_DO_MEU_REPOSITORIO>
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente: Crie um arquivo .env na raiz do projeto e adicione suas credenciais:

    PORT=3000
    CONNECT_STRING= sua-string-mongodb
    
  4. Inicie o servidor:

    npm run dev

🧪 Como Testar a API

O sistema foi configurado para ser testado facilmente com o REST Client do VS Code. Para isso, é essencial ler a documentação dentro da pasta requests.

  • Abra a pasta requests no VS Code.
  • Clique nos arquivos .rest para visualizar os endpoints.
  • Siga as instruções para usar as variáveis de ambiente e testar o fluxo de autenticação e as operações de CRUD.

💡 Planos pro futuro do projeto

  • Documentação com UI através do Swagger, além do Rest Client🎯.

About

A Rest API that manages the usage of contact related to users. This system used tecnologies such as JWT, Bcrypt, Node.JS, Express, Git and Github

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages