API REST completa para gerenciamento de tarefas com autenticação JWT, construída com Node.js, Express e PostgreSQL.
🔌 API em Produção • 💻 Frontend
Node.js 18 Express.js PostgreSQL Sequelize ORM JWT Bcrypt Nodemon Morgan
Autenticação
- Registro e login com JWT
- Hash de senhas com bcrypt
- Proteção de rotas por middleware
- Controle de acesso por usuário (cada usuário vê apenas suas próprias tarefas)
Tarefas
- CRUD completo com validação de dados
- Filtros por status, categoria, prioridade e busca por texto
- Categorias personalizadas e sistema de prioridades (Alta / Média / Baixa)
- Datas de vencimento
Base URL: https://task-manager-api-7ygs.onrender.com/api
# Autenticação
POST /auth/register Registrar novo usuário
POST /auth/login Login — retorna JWT
# Tarefas (requerem Authorization: Bearer {token})
GET /tasks Lista tarefas do usuário (aceita ?status, ?priority, ?search)
GET /tasks/:id Busca tarefa por ID
POST /tasks Cria nova tarefa
PUT /tasks/:id Atualiza tarefa
DELETE /tasks/:id Remove tarefa
users
id · name · email · password (bcrypt) · created_at · updated_at
tasks
id · title · description · category · priority · status
due_date · user_id (FK → users, CASCADE) · created_at · updated_attask-manager-api/
└── src/
├── config/
│ ├── database.js # Configuração Sequelize
│ └── auth.js # Configuração JWT
├── controllers/
│ ├── authController.js
│ └── taskController.js
├── middlewares/
│ ├── authMiddleware.js # Verificação JWT
│ └── validators.js
├── models/
│ ├── User.js
│ └── Task.js
├── routes/
│ ├── authRoutes.js
│ └── taskRoutes.js
├── app.js
└── server.js
Pré-requisitos: Node.js 18+, PostgreSQL
git clone https://github.com/DiegoRapichan/task-manager-api.git
cd task-manager-api
npm install
# Configure o .env
PORT=3000
DB_HOST=localhost
DB_NAME=taskmanager
DB_USER=seu_usuario
DB_PASSWORD=sua_senha
JWT_SECRET=sua_chave_secreta
npm run migrate
npm run dev # http://localhost:3000Diego Rapichan — Desenvolvedor Full Stack · Node.js + React
📄 Licença MIT