Skip to content

DavidBB25/node-express-auth-crud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Backend API: Sistema de Postagens e Autenticação

Esta é uma API REST desenvolvida durante meus estudos de Node.js, focada em construir uma base sólida para sistemas de backend, cobrindo desde a modelagem de dados até a segurança e persistência em nuvem.

📋 Sobre o Projeto

O projeto consiste em um sistema onde usuários podem se cadastrar, realizar login e gerenciar (CRUD) suas próprias postagens. A aplicação segue o padrão de arquitetura MVC (Model-View-Controller) para garantir organização e escalabilidade.

🛠 Tecnologias Utilizadas

  • Runtime: Node.js
  • Framework: Express.js
  • Banco de Dados: MongoDB Atlas (Nuvem)
  • ODM: Mongoose
  • Segurança: Bcrypt (Hashing de senhas)
  • Variáveis de Ambiente: Dotenv
  • Ferramentas de Teste: Bruno

🔑 Funcionalidades Principais

Autenticação de Usuários

  • Registro: Criação de conta com criptografia de senha via Bcrypt.
  • Login: Autenticação segura comparando hashes.
  • Logout: Encerramento de sessão.

Gerenciamento de Postagens (CRUD)

  • Create: Criação de novos posts.
  • Read: Listagem de todas as postagens.
  • Update: Edição de posts existentes.
  • Delete: Remoção de postagens do banco de dados.

🏗 Arquitetura e Conceitos Aplicados

Durante o desenvolvimento, apliquei conceitos fundamentais de engenharia de software:

  • Fluxo de Requisição: Entendimento completo desde a rota, passando pelo controller até a resposta ao cliente.
  • Modelagem de Dados: Criação de Diagramas ER (Entidade-Relacionamento) e Schemas do Mongoose.
  • Status Codes: Implementação correta de retornos HTTP (200, 201, 400, 404, 500).
  • ES Modules: Uso de import/export moderno para organização do código.
  • Clean Structure: Divisão clara entre app.js (configuração), index.js (servidor), routes/, controllers/ e models/.

🚀 Como Executar o Projeto

  1. Clone o repositório:
    git clone https://github.com/DavidBB25/nodejs-backend-intro.git
  2. Instale as dependências:
    npm install
  3. Inicie o servidor em modo desenvolvimento:
    npm run dev

🛣 Endpoints da API

Usuários

  • POST /api/v1/register - Criar novo usuário

  • POST /api/v1/login - Autenticar usuário

  • POST /api/v1/logout - Logout

Posts

  • GET /api/v1/posts - Listar todos os posts

  • POST /api/v1/posts - Criar novo post

  • PUT /api/v1/posts/:id - Atualizar um post

  • DELETE /api/v1/posts/:id - Deletar um post

📸 Teste da API (Bruno)

Clique para ver os testes das rotas

Registro de Usuário (POST)

Registro de Usuário

Login e Autenticação (POST)

Login

Criação de Post (CRUD)

Criar Post

About

NodeJS Crud e Auth API

Topics

Resources

Stars

Watchers

Forks

Contributors