Skip to content

yasminlopes/task-manager-api

Repository files navigation

Task Manager API

API REST para gerenciamento de tarefas com autenticação e proteção CSRF.

Stack

  • Node.js + TypeScript
  • Fastify - Framework web
  • Prisma - ORM
  • PostgreSQL - Database
  • Docker - Containerização
  • Joi - Validação
  • JWT - Autenticação
  • CSRF - Proteção contra ataques

Setup

1. Clone e instale dependências

git clone https://github.com/yasminlopes/task-manager-api.git
cd task-manager-api
npm install

2. Variáveis de ambiente

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"

3. Banco de dados

# Subir PostgreSQL
npm run db:start

# Rodar migrations e seed
npm run db:setup

4. Rodar aplicação

# Desenvolvimento
npm run dev

# Produção
npm run build
npm start

Endpoints

  • POST /auth/register - Registrar usuário
  • POST /auth/login - Login
  • GET /tasks - Listar tarefas
  • POST /tasks - Criar tarefa
  • PUT /tasks/:id - Atualizar tarefa
  • PATCH /tasks/:id/complete - Marcar como concluido
  • DELETE /tasks/:id - Deletar tarefa

Frontend

Interface web disponível em: https://github.com/yasminlopes/task-manager-app

Scripts úteis

npm run db:studio    # Prisma Studio
npm run db:reset     # Reset database
npm run db:migrate   # Nova migration

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published