API REST para gerenciamento de tarefas com autenticação e proteção CSRF.
- Node.js + TypeScript
- Fastify - Framework web
- Prisma - ORM
- PostgreSQL - Database
- Docker - Containerização
- Joi - Validação
- JWT - Autenticação
- CSRF - Proteção contra ataques
git clone https://github.com/yasminlopes/task-manager-api.git
cd task-manager-api
npm install
Crie um arquivo .env
:
DATABASE_URL="postgresql://task_manager:senha_segura_123@localhost:5433/task_manager_db"
JWT_SECRET="your-jwt-secret-key"
CSRF_SECRET="your-csrf-secret-key"
# Subir PostgreSQL
npm run db:start
# Rodar migrations e seed
npm run db:setup
# Desenvolvimento
npm run dev
# Produção
npm run build
npm start
POST /auth/register
- Registrar usuárioPOST /auth/login
- LoginGET /tasks
- Listar tarefasPOST /tasks
- Criar tarefaPUT /tasks/:id
- Atualizar tarefaPATCH /tasks/:id/complete
- Marcar como concluidoDELETE /tasks/:id
- Deletar tarefa
Interface web disponível em: https://github.com/yasminlopes/task-manager-app
npm run db:studio # Prisma Studio
npm run db:reset # Reset database
npm run db:migrate # Nova migration