Skip to content

Grupo-02-Turma-Java-82/HealthSync_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HealthSync API 💪

HealthSync Logo

Java Spring Boot Security Status


📖 Sobre o Projeto

A HealthSync API é uma solução backend robusta desenvolvida em Java 17 + Spring Boot 3, criada para otimizar e gerenciar treinos personalizados, exercícios e o relacionamento entre treinadores e alunos.

O projeto segue o padrão RESTful, com autenticação via JWT e arquitetura em camadas (Controller → Service → Repository), garantindo segurança, escalabilidade e integração simplificada com aplicações frontend.


Principais Funcionalidades

  • 👤 Gerenciamento de Usuários
    CRUD completo para usuários, com distinção entre perfis (ALUNO, TREINADOR).

  • 🔐 Segurança JWT
    Autenticação e autorização de endpoints por role utilizando Spring Security + JWT.

  • 🏋️ Exercícios e Categorias
    CRUD de exercícios e agrupamento por categorias para melhor organização.

  • 💪 Treinos Personalizados
    Criação de treinos associados a exercícios e a alunos específicos.

  • 🔄 Vínculo Treinador-Aluno
    Treinadores autenticados podem cadastrar alunos e vinculá-los automaticamente.

  • 📈 Rastreamento de Progresso
    Marcação de treinos concluídos com atualização automática de métricas.


🏛️ Arquitetura e Diagrama de Classes

A arquitetura utiliza DTOs para proteger dados sensíveis e Spring Data JPA para persistência.
Abaixo, um diagrama representando as entidades e seus relacionamentos:

erDiagram
    USUARIO {
        Long id
        String nomeCompleto
        String email
        String senha
        LocalDate dataNascimento
        TipoUsuario tipoUsuario
        boolean ativo
    }

    CATEGORIA {
        Long id
        String nome
        String descricao
    }

    EXERCICIOS {
        Long id
        String nome
        String descricaoDetalhada
        DificuldadeExercicio nivelDificuldade
        String urlVideoDemonstrativo
        Long categoria_id
    }

    TREINOS {
        Long id
        String nome
        String descricao
        boolean concluido
        Integer tempoMinutos
        Long usuario_id
    }

    LISTA_ALUNO {
        Long id
        Long id_aluno
        Long id_treinador
        LocalDateTime dataVinculo
    }

    TREINO_EXERCICIO {
        Long id
        Long id_treino
        Long id_exercicio
    }

    USUARIO ||--o{ TREINOS : "cria"
    USUARIO ||--o{ LISTA_ALUNO : "é aluno em"
    USUARIO ||--o{ LISTA_ALUNO : "é treinador de"
    TREINOS ||--|{ TREINO_EXERCICIO : "contém"
    EXERCICIOS ||--|{ TREINO_EXERCICIO : "faz parte de"
    CATEGORIA ||--o{ EXERCICIOS : "agrupa"
Loading

🛠 Tecnologias Utilizadas

Tecnologia / Ferramenta Uso no Projeto
Java 17 Linguagem principal
Spring Boot 3.x Framework backend
Spring Data JPA / Hibernate ORM e persistência
MySQL / H2 Banco de dados (produção/dev)
Spring Security + JWT Autenticação e autorização
Bean Validation (JSR 380) Validação de dados
Swagger / OpenAPI Documentação da API
JUnit / Insomnia Testes e requisições

📄 Documentação (Swagger)

Após rodar o projeto, a documentação estará disponível em:

http://localhost:8080/swagger-ui.html

🚀 Como Executar o Projeto

# 1. Clone o repositório:
git clone https://github.com/Grupo-02-Turma-Java-82/HealthSync_API.git

# 2. Abra na IDE de sua preferência (IntelliJ, Eclipse, VSCode com extensão Java)

# 3. Configure o banco de dados no application.properties

# 4. Execute:
./mvnw spring-boot:run

👥 Integrantes

Nome GitHub Função
Bruno Godoy Brunogodoy2911 Dev/Master
Felipe Peronica feperonica Dev
Jovani de Souza JovaniOUnico Dev
Lívia D’Alexandri liviadalexandri Dev
Luiza Gonçalves luizaeg Tester
Maria Helena squarcinihelena Dev
Rafaela Giometti rafagiometti Dev

📌 Status do Projeto

🟡 Em desenvolvimento — funcionalidades principais concluídas, melhorias e novas features em andamento.

About

O HealthSync é um sistema de fitness personalizado desenvolvido em Java com Spring Boot, com foco na organização de treinos por categoria, cadastro de exercícios e gerenciamento de usuários

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors