API REST de Tarefas
Criar uma API REST que cria, lista, atualiza e remove tarefas (CRUD completo).
- em 1 a 3 semanas
- 8 a 16 h em 1 a 3 semanas
- o que você entrega
- Repositório o que você entrega
- com checkpoint
- 5 etapas com checkpoint
- de aceite
- 9 requisitos de aceite
Por que este projeto
Todo app que você usa fala com um servidor: o app de tarefas do seu celular manda 'crie esta tarefa' e o servidor guarda. Esta API é esse servidor. Sem tela, só endpoints: você vai criar, listar, editar e apagar tarefas pelo Postman ou Insomnia. É o projeto que separa quem sabe JavaScript de quem sabe construir um back-end: rotas, validação, erros e banco.
Você vai sair sabendo
O que precisa estar lá no fim
É o contrato do projeto. Quando os 9 estiverem verdade, você terminou.
- GET /tarefas devolve a lista de tarefas em JSON
- POST /tarefas cria uma tarefa e responde 201 com a tarefa criada
- PUT ou PATCH /tarefas/:id atualiza título ou concluída
- DELETE /tarefas/:id remove e responde 204
- POST sem título responde 400 com uma mensagem de erro em JSON
- Qualquer rota com id inexistente responde 404
- As tarefas ficam num banco (SQLite, PostgreSQL ou MongoDB), não só em memória
- O repositório inclui uma coleção do Postman ou Insomnia, ou um arquivo .http, com todas as rotas
- Pelo menos 5 commits com mensagens que dizem o que mudou
Etapas
Servidor no ar
1 h- npm init, instale o Express, crie server.js com uma rota GET / que responde um JSON.
- Rode com node e teste no navegador ou no Postman.
Pronto quando: GET / responde no Postman.
CRUD em memória
2 a 4 h- Guarde as tarefas num array e crie as quatro rotas.
- Use express.json() para ler o body.
Pronto quando: Dá para criar, listar, editar e apagar pelo Postman, e a lista some quando o servidor reinicia (é o esperado por enquanto).
Validação e erros
1 a 2 h- Recuse POST sem título com 400 e mensagem.
- Responda 404 para id inexistente.
- Trate erro inesperado com 500 sem vazar detalhes.
Pronto quando: Cada caso de erro devolve o status e a mensagem certos.
Banco de dados
3 a 6 h- Troque o array por um banco: SQLite com better-sqlite3 ou Prisma é o caminho mais curto; MongoDB com Mongoose também vale.
- Crie a tabela ou coleção pelo código.
Pronto quando: Reiniciar o servidor não apaga as tarefas.
Documentar
1 h- Exporte a coleção do Postman ou Insomnia para o repositório.
- Escreva o README com as rotas, exemplos e como rodar.
Pronto quando: Outra pessoa consegue rodar e testar só lendo o README.
Entrega
Terminou? Marque a conclusão e o projeto vira parte do seu perfil.
Depois
Meu primeiro back-end está no ar. Uma API REST de tarefas com Node e Express: cria, lista, edita e apaga, com validação, erros no status certo e banco de dados de verdade. Sem tela, só endpoints, testados no Postman. O que aprendi: • Rotas, params, query e body • Responder 201, 204, 400 e 404 na hora certa • Persistir num banco pelo código • Documentar para outra pessoa usar A parte que mais me fez pesquisar foi [conta aqui]. Repositório e coleção do Postman nos comentários. #backend #nodejs #express #api #boranatech