- JavaScript 100%
| prisma | ||
| src | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
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 comoStringcom valores esperados: PENDENTE, EM_ANDAMENTO, CONCLUIDA.- Não comitar
dev.dbnem.env. - Recomendo usar SSH para o remote GitLab (evita pedir usuário/senha).