Skip to content

Latest commit

Ā 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

TeamPulse šŸ‘„

NPM

šŸ“‹ Sobre o Projeto

TeamPulse é uma plataforma completa de gestão de equipes e feedback desenvolvida para otimizar a comunicação e produtividade em ambientes corporativos. O sistema oferece funcionalidades avançadas de gerenciamento de usuÔrios, criação de squads, sistema de feedback estruturado com rascunhos e controle de permissões hierÔrquicas.

✨ Funcionalidades Principais

šŸ‘¤ Gerenciamento de UsuĆ”rios

  • Sistema de Autenticação - Login seguro com JWT
  • Hierarquia de PermissƵes - Admin, Gerente e Colaborador
  • CRUD Completo - Criação, edição e exclusĆ£o de usuĆ”rios
  • Filtros por Tipo - Listagem baseada em permissƵes
  • Contadores DinĆ¢micos - EstatĆ­sticas de usuĆ”rios por tipo

šŸ¢ Sistema de Squads

  • Criação de Equipes - Montagem de squads com validação
  • Composição Balanceada - Validação de gerentes e colaboradores
  • Gerenciamento FlexĆ­vel - Adição e remoção de membros
  • Consultas Especializadas - Por colaborador ou gerente
  • Controle de Acesso - Baseado em hierarquia de usuĆ”rios

šŸ’¬ Sistema de Feedback AvanƧado

  • Rascunhos de Feedback - Criação e edição antes do envio
  • Sistema de Avaliação - Rating de 1 a 5 estrelas
  • Status de Controle - DRAFT, SENT para organização
  • Histórico Completo - Feedbacks enviados e recebidos
  • PermissƵes EspecĆ­ficas - Gerentes enviam, colaboradores recebem

šŸ” SeguranƧa e Controle

  • JWT Authentication - Tokens seguros para autenticação
  • Validação de PermissƵes - Controle granular de acesso
  • Criptografia de Senhas - BCrypt para proteção de dados
  • Validação de Dados - Sanitização e verificação de entrada

šŸ“± Layout da Aplicação

Tela do Administrador (Home)

Tela do Administrador (Home)

Tela do Gerente (Home e Feedbacks)

Tela do Gerente (Home - UsuƔrios)

Tela do Gerente (Home - Times)

Tela do Gerente (Feedbacks - Rascunho)

Tela do Gerente (Feedbacks - Enviados)

Tela do Colaborador (Home e Feedbacks)

Tela do Colaborador (Home)

Tela do Colaborador (Feedbacks)

šŸš€ Tecnologias Utilizadas

Backend

Frontend

  • HTML5 - Estruturação semĆ¢ntica das pĆ”ginas
  • CSS3 - Estilização e layout
  • JavaScript - Interatividade e lógica client-side
  • Bootstrap 5 - Framework CSS responsivo
  • Font Awesome - ƍcones e elementos visuais

Banco de Dados

  • PostgreSQL - Banco de dados relacional principal
  • H2 Database - Banco em memória para testes
  • Flyway - Controle de versĆ£o do banco de dados

šŸ—ļø Arquitetura do Sistema

Estrutura de Controllers

AuthController

  • POST /auth/login - Autenticação de usuĆ”rios
  • POST /auth/register - Registro de gerentes e colaboradores
  • POST /auth/register/admin - Registro exclusivo de administradores

UserController

  • GET /user/list - Listagem de usuĆ”rios com filtros
  • GET /user/count - Contadores por tipo de usuĆ”rio
  • PUT /user/edit/{userId} - Edição de dados do usuĆ”rio
  • DELETE /user/delete/{userId} - ExclusĆ£o de usuĆ”rios

SquadController

  • POST /squads - Criação de novas squads
  • PUT /squads/edit/{squadId} - Atualização de squads
  • DELETE /squads/{squadId} - ExclusĆ£o de squads
  • GET /squads - Listagem completa (gerentes)
  • GET /squads/colaborador/{userId} - Squads de colaborador
  • GET /squads/gerente/{userId} - Squads de gerente

FeedbackController

  • POST /feedback/draft - Criação de rascunhos
  • PUT /feedback/draft/{feedbackId} - Edição de rascunhos
  • DELETE /feedback/draft/{feedbackId} - ExclusĆ£o de rascunhos
  • POST /feedback/send - Envio de feedback
  • GET /feedback/drafts - Rascunhos do usuĆ”rio
  • GET /feedback/received - Feedbacks recebidos
  • GET /feedback/sent - Feedbacks enviados

šŸ“± Interface do UsuĆ”rio

Funcionalidades Frontend

  • Dashboard interativo com estatĆ­sticas
  • FormulĆ”rios validados com feedback visual
  • Tabelas dinĆ¢micas com paginação
  • Modais responsivos para aƧƵes rĆ”pidas
  • NotificaƧƵes toast para feedback do usuĆ”rio

Modelo de Dados

Entidades Principais

-- UsuƔrios
User {
  id: String (UUID)
  username: String (3-50 chars)
  email: String (unique, 100 chars)
  password: String (encrypted)
  userType: ADMIN | GERENTE | COLABORADOR
}

-- Squads
Squad {
  id: String (UUID)
  name: String (unique)
  createdAt: LocalDateTime
  members: List<User>
}

-- Feedbacks
Feedback {
  id: String (UUID)
  comment: String
  rating: Integer (1-5)
  status: DRAFT | SENT
  createdAt: LocalDateTime
  sentAt: LocalDateTime
  user: User (receptor)
  author: User (autor)
}

šŸ“¦ Como Executar o Projeto

PrƩ-requisitos

  • Java 17 ou superior
  • Maven 3.6+
  • PostgreSQL 12+ (ou H2 para desenvolvimento)
  • Git

Configuração do Ambiente

1. Clone o Repositório

git clone https://github.com/usuario/teampulse
cd teampulse

2. Configuração do Banco de Dados

# application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/teampulse
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha

# JWT Configuration
jwt.secret=sua_chave_secreta_jwt
jwt.expiration=86400000

3. Instalação e Execução

# Instalar dependĆŖncias
mvn clean install

# Executar aplicação
mvn spring-boot:run

# Ou gerar JAR e executar
mvn package
java -jar target/teampulse-1.0.0.jar

4. Acesso à Aplicação

šŸ“„ LicenƧa

Este projeto estƔ sob licenƧa MIT. Veja o arquivo LICENSE para mais detalhes.

šŸ‘Øā€šŸ’» Autores

Júlio Guimarães e Sérgio Adriani


⭐ Se este projeto te ajudou, deixe uma estrela no repositório!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages