No description
  • JavaScript 100%
Find a file
2025-12-11 21:25:19 -04:00
prisma Atualizando o projeto 2025-12-11 20:17:56 -04:00
src Mais algumas separações 2025-12-11 20:59:01 -04:00
.gitignore Primeiro commit 2025-12-09 21:48:12 -04:00
package.json Atualizando o projeto 2025-12-11 20:17:56 -04:00
README.md Criando o Readme 2025-12-11 21:25:19 -04:00

TaskZ — API de Tarefas (mínimo)

API GraphQL para gerenciamento de tarefas com Prisma + SQLite e autenticação JWT.

Requisitos

  • Node.js >=16
  • npm
  • Git

Variáveis de ambiente (.env na raiz) DATABASE_URL="file:./dev.db" JWT_SECRET="troque_para_uma_chave_segura" PORT=4000 NODE_ENV="development"

Instalação npm install

Prisma / Banco npx prisma generate npx prisma db push --schema=prisma/schema.prisma

(Opcional com migrações)

npx prisma migrate dev --name init --schema=prisma/schema.prisma

Rodar npm run dev Acesse: http://localhost:4000/graphql

Exemplos mínimos (GraphQL)

Criar usuário: mutation { criarUsuario(nome:"João", email:"joao@example.com", senha:"senha123") { id nome email } }

Login: mutation { login(email:"joao@example.com", senha:"senha123") { token usuario { id nome email } } }

Header para requisições autenticadas: Authorization: Bearer

Criar projeto (autenticado): mutation { criarProjeto(nome:"Meu Projeto") { id nome donoId } }

Criar tarefa (autenticado, dono do projeto): mutation { criarTarefa(projetoId: 1, titulo:"Tarefa 1", descricao:"Descrição") { id titulo status criadoEm } }

Notas rápidas

  • status é armazenado como String com valores esperados: PENDENTE, EM_ANDAMENTO, CONCLUIDA.
  • Não comitar dev.db nem .env.
  • Recomendo usar SSH para o remote GitLab (evita pedir usuário/senha).