Skip to content

Projeto de gerenciamento de projetos e tarefas de projetos.

Notifications You must be signed in to change notification settings

Gabrielvitoria/ProjectManagement

Repository files navigation

Descrição do projeto

Projeto para desafio da ferramenta de gerenciamento de projetos. O objetivo é desenvolver uma API que permita aos usuários organizar e monitorar suas tarefas diárias, bem como colaborar com colegas de equipe.

Funcionalidades

✔️ Funcionalidade 1: Listagem de Projetos.

✔️ Funcionalidade 2: Criação de Projetos.

✔️ Funcionalidade 3: Remoção de Projetos.

✔️ Funcionalidade 4: Visualização de Tarefas.

✔️ Funcionalidade 5: Criação de Tarefas.

✔️ Funcionalidade 6: Atualização de Tarefas.

✔️ Funcionalidade 7: Atualização de status da Tarefas.

✔️ Funcionalidade 8: Remoção de Tarefas.

✔️ Funcionalidade 9: Relatório de performace como o número médio de tarefas concluídas por usuário nos últimos 30 dias.

✔️ Funcionalidade 10: Permissão de acesso em relatório apenas para usuário com permissão de "gerente".

✔️ Funcionalidade 11: Geração de token de acesso para API's que exegem permissão.

  • Obs. Para gerar token utilizar a API (/api/Authenticate/login) com as credenciais: username: master | password: master

Ferramentas utilizadas

java .Net 8

Abrir e rodar o projeto

Após baixar o projeto, você pode abrir com o visual studio 2022 e executar utilizando docker da seguinte forma:

Acessar local onde baixou e executar:

  • docker build -t projectmanager-image-api -f Dockerfile .
  • docker-compose up -d

Melhoraria no projeto

  • Criar um repositório para utilizar Dapper para os relatórios
  • Passar para o appsettings.json a quantidade de tarefas permitidas e utilizar no serviço essa quantidade.
  • Tornar a geração de torken com usuário real
  • Permtir informar datas como filtro no relatório e caso não informe assumir os 30 dias como padrão

Refinamento para futuras implementações ou melhorias.

  • Possibilidade do relatório ser assíncrono e ser processado fora da aplicação.
  • Possibilidade de criar um projeto passando as tarefas
  • Possibildiade de um serviço realizar a limpesa da tabela de historico para registros que foram excluidos depois de um tempo
  • Notificar o usuário do relatório pronto por email e uma sessão dos relatorio que ele já gerou com um tempo de vida
  • Alterar as API's para que tenha segurança com controle acesso.

Cobertura de teste

Desenvolvedores


Gabriel da Vitória

About

Projeto de gerenciamento de projetos e tarefas de projetos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published