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.
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.
- 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
- Registro: Criação de conta com criptografia de senha via Bcrypt.
- Login: Autenticação segura comparando hashes.
- Logout: Encerramento de sessão.
- 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.
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/exportmoderno para organização do código. - Clean Structure: Divisão clara entre
app.js(configuração),index.js(servidor),routes/,controllers/emodels/.
- Clone o repositório:
git clone https://github.com/DavidBB25/nodejs-backend-intro.git
- Instale as dependências:
npm install
- Inicie o servidor em modo desenvolvimento:
npm run dev
-
POST /api/v1/register - Criar novo usuário
-
POST /api/v1/login - Autenticar usuário
-
POST /api/v1/logout - Logout
-
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


