Skip to content

FelipeAraujoBS/task-manager-API-Node-Javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Task Manager API

Uma API RESTful para gerenciamento de tarefas, construída com Node.js, Express e MongoDB (Mongoose). Este projeto implementa autenticação de usuários com JWT, incluindo registro (register) e login, além do CRUD completo de tarefas.


🚀 Tecnologias Utilizadas

  • Node.js
  • Express
  • MongoDB (Mongoose)
  • JWT (jsonwebtoken)
  • bcryptjs
  • dotenv
  • CORS
  • Joi (validação de requisições)

📁 Estrutura de Pastas

src/
├── config/
│   └── database.js            # Conexão com MongoDB
│
├── controllers/
│   ├── loginControllers.js    # Lógica de login
│   ├── userControllers.js     # Lógica de registro
│   └── taskControllers.js     # Lógica de CRUD de tarefas
│
├── middlewares/
│   └── authMiddlewares.js     # Middleware de autenticação JWT
│   └── verifyReq.js # Validação com Joi
│
├── models/
│   ├── user.js                # Schema do usuário (com hash da senha)
│   └── task.js                # Schema das tarefas
│
├── schemas/
│ ├── schemaLogin.js # Validação de login
│ └── schemaRegister.js # Validação de registro
│ └── schemaTaskCreate.js # Validação da criação de Tarefas
│ └── schemaTaskUpdate.js # Validação do update de Tarefas
│
├── routes/
│   └── routes.js              # Rotas de login, registro e tarefas
│
├── index.js                   # Arquivo principal da aplicação
└── .env                       # Variáveis de ambiente (PORT, MONGO_URI, JWT_SECRET, JWT_EXPIRES_IN)

🔐 Autenticação

  • Registro de usuário: POST /register
  • Login: POST /login
    • Retorna um token JWT no corpo da resposta.
  • Middleware (authMiddleware.js):
    • Verifica e valida o token JWT em rotas protegidas.

🗂️ Rotas de Tarefas (Requerem autenticação via JWT)

-Criar nova tarefa: POST /task/register

-Listar tarefas do usuário: GET /task/find

-Listar tarefas do usuário por id: GET /task/find/:id

-Atualizar tarefa: PUT /task/update/:id

-Deletar tarefa: DELETE /task/delete/:id


📦 Instalação

  1. Clone o repositório:
   git clone https://github.com/seu-usuario/task-manager-api.git
   cd task-manager-api
  1. Instale as dependências:
  npm install
  1. Crie um arquivo .env na raiz e adicione:
  PORT=5000
  MONGO_URI=seu_mongo_uri
  JWT_SECRET=sua_chave_secreta
  1. Inicie o servidor:
npm start

Milestones

✅ Status

✅ Registro e login com hash de senha

✅ Geração de token JWT

✅ Middleware de autenticação JWT

✅ CRUD completo de tarefas (Create, Read, Update, Delete)

✅ Validação com Joi

❌ Paginação e ordenação (em planejamento)

🧪 Testes com Insomnia ou Postman

Recomenda-se testar com Insomnia ou Postman, enviando requisições POST com JSON no corpo:

POST http://localhost:5000/register

{
  "username": "Felipe",
  "email": "felipe@hotmail.com",
  "password": "123456"
}

📌 Observações

O token JWT deve ser salvo pelo frontend e enviado nas requisições protegidas via header:

Authorization: Bearer <token>

✍️ Autor

Felipe — Desenvolvedor backend 💻

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors