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.
- 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
- 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
- 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
- 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
- Java 17 - Linguagem de programação principal
- Spring Boot 3.0 - Framework para aplicaƧƵes Java
- Spring Security - Segurança e autenticação
- Spring Data JPA - PersistĆŖncia de dados
- JWT (JSON Web Tokens) - Sistema de autenticação stateless
- Lombok - Redução de boilerplate code
- Bean Validation - Validação de dados
- 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
- PostgreSQL - Banco de dados relacional principal
- H2 Database - Banco em memória para testes
- Flyway - Controle de versão do banco de dados
- POST /auth/login - Autenticação de usuÔrios
- POST /auth/register - Registro de gerentes e colaboradores
- POST /auth/register/admin - Registro exclusivo de administradores
- 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
- 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
- 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
- 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
-- 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)
}- Java 17 ou superior
- Maven 3.6+
- PostgreSQL 12+ (ou H2 para desenvolvimento)
- Git
git clone https://github.com/usuario/teampulse
cd teampulse# 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# 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- Backend API: http://localhost:8080
- Frontend: http://localhost:8080 (servido pelo Spring Boot)
Este projeto estƔ sob licenƧa MIT. Veja o arquivo LICENSE para mais detalhes.
Júlio Guimarães e Sérgio Adriani
- GitHub: @ocesar9,@Userkarf
- LinkedIn: Júlio Guimarães, Sérgio Adriani,
ā Se este projeto te ajudou, deixe uma estrela no repositório!






