Skip to content

Repository files navigation

Logo

Um sistema para organização e acompanhamento de tarefas utilizando um kanban, timer, calendário mensal e um gráfico de atividades no estilo do GitHub.


Tecnologias


Autenticação

A autenticação será baseada em JWT (JSON Web Token), com suporte para:

  • Access Token (tempo de vida curto, usado para requisições autenticadas).
  • Refresh Token (armazenado no cache e utilizado para renovar o Access Token).

📌 Cache: O Redis será utilizado para armazenar os Refresh Tokens, garantindo segurança e eficiência.


Funcionalidades

Gerenciamento de Tarefas

  • Organização de tarefas em um Kanban (to-do, in progress, done).
  • Definição de datas de vencimento e status.

Timer para Foco e Rastreamento de Tempo

  • Contagem de tempo gasto em cada tarefa.
  • Salvamento do tempo total trabalhado.

Calendário Mensal

  • Visualização das tarefas distribuídas ao longo do mês.

Gráfico de Atividades

  • Estilo "GitHub contribution graph".
  • Representação visual do progresso ao longo do tempo.

Requisitos Funcionais

📌 Usuários e Autenticação

  • [RF001] O sistema deve permitir o cadastro de usuários com username e senha.
  • [RF002] O usuário deve ser capaz de fazer login utilizando JWT (access e refresh token).
  • [RF003] O sistema deve suportar recuperação de senha via e-mail.

📌 Gerenciamento de Tarefas

  • [RF004] O usuário pode criar, editar e excluir tarefas.
  • [RF005] O sistema deve permitir organizar tarefas em um quadro Kanban.
  • [RF006] Cada tarefa deve ter um status (To-Do, In Progress, Done).
  • [RF007] O usuário pode definir um prazo (due date) para cada tarefa.

📌 Timer e Rastreamento de Tempo

  • [RF008] O usuário pode iniciar e pausar um timer para medir o tempo gasto na tarefa.
  • [RF009] O sistema deve calcular e armazenar o tempo total gasto na tarefa.

📌 Visualização e Relatórios

  • [RF010] O usuário pode visualizar um calendário mensal com suas tarefas.
  • [RF011] O sistema deve exibir um gráfico de atividades com as tarefas concluídas por dia.

API Endpoints

Autenticação (/auth)(✅)

Método Endpoint Descrição Autenticação
POST /auth/register Criação de conta ❌
POST /auth/login Login e obtenção de tokens JWT ❌
POST /auth/refresh Gera novo Access Token ✅ (refresh)
POST /auth/logout Invalida o Refresh Token ✅

Tarefas (/tasks)(✅)

Método Endpoint Descrição Autenticação
POST /tasks Criar uma nova tarefa ✅
GET /tasks Listar todas as tarefas do usuário ✅
GET /tasks/:id Buscar detalhes de uma tarefa ✅
PUT /tasks/:id Atualizar uma tarefa ✅
DELETE /tasks/:id Remover uma tarefa ✅

Timer (/tasks/:id/timer)(✅)

Método Endpoint Descrição Autenticação
POST /tasks/:id/timer/start Iniciar o timer ✅
POST /tasks/:id/timer/stop Parar o timer ✅

Relatórios & Visualização (/reports)()

Método Endpoint Descrição Autenticação
GET /reports/calendar Retorna as tarefas organizadas por mês ✅
GET /reports/activity Retorna o gráfico de atividades do usuário ✅

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages