| Método | URL | Descrição | Request Body | Response |
|---|---|---|---|---|
| GET | /tasks |
Retorna todas as tarefas | — | Array de tarefas (JSON) |
| GET | /tasks/:id |
Retorna uma tarefa pelo ID | — | Objeto tarefa (JSON) |
| POST | /tasks |
Cria uma nova tarefa | { title: string, description: string } |
Objeto tarefa criado (JSON) |
| PUT | /tasks/:id |
Atualiza uma tarefa existente | { title: string, description: string, complete: boolean } |
Objeto tarefa atualizado (JSON) |
| DELETE | /tasks/:id |
Remove uma tarefa | — | Status 200 ou erro |
- O backend foi desenvolvido utilizando o framework NestJS.
- A documentação da API foi criada com Swagger para facilitar a integração e o uso.
O backend possui dois modos de operação, organizados em subpastas:
-
/backend-off-sqlite:- Manipula dados usando o serviço interno
TasksServicesem conexão com o banco de dados.
- Manipula dados usando o serviço interno
-
/backend-on-sqlite:- Manipula dados utilizando o banco de dados SQLite através do Prisma.
- O CORS deve estar habilitado para permitir requisições do frontend na origem
http://localhost:4000.
- Login simples com username salvo no
localStorage. - Listagem de tarefas consumindo API REST.
- Adicionar, editar, excluir tarefas.
- Marcar tarefas como completas/incompletas.
- Controle de sessão com redirecionamento para login se não autenticado.
- Logout que limpa o
localStoragee redireciona.
- Componente principal:
TaskManager(React Functional Component). - Usa hooks:
useState,useEffect. - Chamada HTTP via
axiosparahttp://localhost:4000/tasks. - Estilização rápida e responsiva com TailwindCSS.
Usuário acessa a aplicação. Se não estiver logado (sem username no localStorage), é redirecionado para a página de login.
Após login, o usuário pode criar, editar, excluir e marcar tarefas.
A lista de tarefas é atualizada automaticamente após cada ação.
Botão de logout limpa a sessão e redireciona para a página de login.
- Backend rodando em
http://localhost:3000(porta padrão NestJS) - Frontend rodando em
http://localhost:4000(porta configurada) - Backend com CORS habilitado para
localhost:4000
Git clone https://github.com/codigoperfeito/task-restful/
Cd task-restfulobs:existem duas pastas uma com SQLite e outra sem SQLite escolha qualquer uma das duas
npm -i
npm run start:devnpm -i
npx prisma generate
npm run start:devnpm -i
npm run devEm caso de problemas, mande uma mensagem aqui.