🖥️ QUESTFY HUB

A plataforma QuestfyHub consiste em um gerenciador de tarefas com elementos de gamificação para utilização empresarial. O sistema é ideal para instituições que buscam formas inovadoras e personalizáveis de beneficiar os colaboradores, permitindo a compra de diferentes recompensas com pontos adquiridos na conclusão de atividades escolhidas pela própria empresa.

O projeto foi criado como requisito obrigatório da UC "Estrutura de Dados e Análise de Algoritmos", parte da grade do curso de Ciência da Computação na UNA. Inicialmente, o software não foi desenvolvido com propósitos comerciais.

🚀 Pré-requisitos

Antes de começar, certifique-se de que todos os pré-requisitos abaixo sejam atendidos, para que seja possivel a utilização local do projeto:

  • Java 17
  • Banco de dados local PostgreSQL
  • (Opcional) Angular 17

Observação: O terceiro requisito se tornou opcional pois agora o Front-End do projeto está sendo hospedado na plataforma Netlify.

Link de acesso para o projeto: QuestfyHub

Para visualização utilize o login de teste:

🔧 Utilização

Após realizada a cópia do repositório, algumas coisas devem ser feitas antes. Como o projeto foi inicialmente desenvolvido para rodar em ambiente local, algumas configurações devem ser feitas antes de rodar o programa:

Postgresql

  1. Crie um novo banco de dados dentro do postgresql;


  2. Baixe o banco modelo em Links Uteis;

  3. Importe o banco modelo para seu banco de dados.

Back-End

  1. Vá ao arquivo application.proprieties;

  2. Preencha as informações necessárias (sinalizadas nos colchetes);

Assim que todas as configurações estiverem feitas, abra e execute a classe AppApplication, depois entre no site do projeto.

🌐 Sobre o Projeto

Conforme informado anteriormente, a ideia primordial deste projeto é o desenvolvimento de um site para a organização e gerenciamento de tarefas empresariais que adotam metodologias ágeis. As principais funcionalidades presentes dentro do projeto são:

  • Criação e Distribuição das Tarefas
  • Distribuição de Pontos por Tarefas
  • Loja de Pontos
  • Visualização de Relatórios Mensais por Funcionário (Gestor)

Todo o desenvolvimento do site foi trabalhado na linguagem Java, utilizando o algoritmo de ordenação Quick Sort para o rankeamento de usuários. Foi implementado o banco de dados PostGreSQL para a conexão dos bancos de dados com o site. A parte visual foi desenvolvida no Figma.

  • FRONT END: ANGULAR
  • BACK END: JAVA, SPRING BOOT, JPA
  • BANCO DE DADOS: POSTGRESQL
  • DESIGN: FIGMA

Levantamento de Requisitos

Requisitos Funcionais

Requisitos do Administrador

Prioridade Requisito
Alta Registrar, visualizar, editar, e apagar a organização
Alta Criar, visualizar, editar, apagar, adicionar informações, atribuir usuário e aprovar tarefas
Alta Criar, visualizar, editar, e apagar usuário
Alta Criar, visualizar, editar, e apagar produtos da loja de ponto
Média Gerar relatórios de produtividade da equipe

Requisitos do Funcionário

Prioridade Requisito
Alta Visualizar, editar, adicionar informações, receber pontos na conclusão e enviar para aprovação as tarefas
Alta Efetuar a compra dos produtos
Média Visualizar e editar informações da sua conta

Requisitos Não Funcionais

Prioridade Requisito
Alta Autenticação de Usuário
Alta Privacidade dos dados armazenados
Média Criptografia de dados
Média Bom funcionamento no maior número de dispositivos
Média Interface simples e intuitiva
Média Alta disponibilidade
Média Baixo tempo de resposta

BANCO DE DADOS (DIAGRAMA):

Diagrama1

Para criar o diagrama do banco de dados foi utilizado a ferramenta SQL WorkBench

✏️ Colaboradores

Gabriel Evaristo
Gabriel Evaristo
Vinicius Madureira
Vinicius Madureira
João Paulo
João Paulo
Israel Silva
Israel Silva

Links Úteis