Trilha Backend JR

Este projeto tem como objetivo desenvolver uma API RESTful para gerenciamento de tarefas, proporcionando funcionalidades de CRUD (Create, Read, Update, Delete) de tarefas, autenticação de usuários e armazenamento dos dados em um banco de dados.

Trilha backend jr

Objetivos:

  • Criar uma API que permita CRUD (Create, Read, Update, Delete) de tarefas.
  • Implementar autenticação de usuários.
  • Utilizar um banco de dados SQLite para armazenar as tarefas.
  • Documentar todo o processo e apresentar as conclusões.

Autenticação de Usuários:

  • Registro de Usuário: Endpoint para registrar um novo usuário.
  • Login de Usuário: Endpoint para autenticar um usuário e gerar um token JWT.
  • Proteção de Rotas: Garantir que apenas usuários autenticados possam acessar os endpoints de tarefas.

Requisitos Funcionais:

  • Criar Tarefa: Endpoint para criar uma nova tarefa.
  • /api/taskÉ obrigatório para criar uma task:
  • O usuário estar autenticado
  • Passa um titulo e uma descrição
  • Exemplo:"title": "Task Title",
    "description": "Task Description"
  • Listar Tarefas: Endpoint para listar todas as tarefas.
  • /api/taskRota para listar todos as tarefas(tasks)
  • Atualizar Tarefa: Endpoint para atualizar uma tarefa existente.
  • /api/taskÉ obrigatório para atualizar uma task:
  • O usuário estar autenticado
  • A task ter sido ele quem a criou
  • Passa um titulo ou uma nova descrição
  • Exemplo:"title": "Task Title 2",
    "description": "Other Description"

    Deletar Tarefa: Endpoint para deletar uma tarefa existente.

    /api/task

    É obrigatório para deletar uma task:

  • O usuário estar autenticado
  • O Id deve ser informado como parâmetro na url
  • O usuário autenticado ter criado a task
Em routes é o local onde especifico o caminho base para cada Endpointroutes.use("/api/task", Tasks);é o caminho base para os endpoint de tasks Ja no controller de _src/tasks_ é onde eu indico o final de cada rota e os middleware caso necessário

Conclusão

Muito obrigado pela atenção.

jefersonsann.online/docs/