MCPcopy Index your code
hub / github.com/cami-la/academia-digital

github.com/cami-la/academia-digital @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
51 symbols 72 edges 25 files 20 documented · 39%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Conhecendo o Projeto Spring Data JPA na Prática

Sejam bem-vindos ao projeto de LAB Conhecendo o Projeto Spring Data JPA na Prática oferecido gratuitamente pela plataforma de cursos online Digital Innovation One.

🎯 Objetivo do Projeto

Ao final deste projeto, o Dev irá conhecer os principais conceitos de mapeamento objeto relacional (ORM) usando o Spring Data JPA. Para isso, uma API RESTful será desenvolvida com ênfase na modelagem de suas entidades, no domínio de uma academia de ginástica.

🛑 Pré-requistos

  • [x] Fundamentos do Spring Boot

  • [x] Noções de SQL

🚦 Guia

  1. Apresentação do Projeto Base
  2. Configuração do banco de dados (SGBD PostgreSQL)
  3. Aplicando as annotations
  4. Execução do fluxo back-end: Controller - Service - Repository
  5. Validação - Hibernate Validator
  6. Consultas Avançadas - Derived Query - Native Query

🛠 Tecnologias Utilizadas

  • IDE IntelliJ
  • Java 11
  • Maven
  • Spring Web
  • Spring Data JPA
  • PostgreSQL Driver
  • Hibernate Validator
  • Lombok
  • Postman

Anotações de Mapeamento

@Entity Usada para especificar que a classe anotada atualmente representa um tipo de entidade.

@Table Usada para especificar a tabela principal da entidade atualmente anotada.

@Id Especifica o identificador da entidade. Uma entidade deve sempre ter um atributo identificado.

@GeneratedValue Especifica que o valor do identificador de entidade é gerado automaticamente.

@Column Usada para especificar o mapeamento entre um atributo de entidade básico e a coluna da tabela de banco de dados.

@JoinColumn Usada para especificar a coluna FOREIGN KEY. Indica que a entidade é a responsável pelo relacionamento.

@OneToMany Usada para especificar um relacionamento de banco de dados um-para-muitos.

@OneToOne Usada para especificar um relacionamento de banco de dados um-para-um.

@ManyToOne Usada para especificar um relacionamento de banco de dados muitos-para-um.

cascade Realizar operações em cascata só faz sentido em relacionamentos Pai - Filho.

mappedBy Indica qual é o lado inverso ou não dominante da relação.

🔗 Links Úteis

🤝 Contribuindo

Este repositório foi criado para fins de estudo, então contribua com ele. Se te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identidique com o conteúdo, não deixe de compatilhar.

Se possível:

⭐️ Star o projeto

🐛 Encontrar e relatar issues


Disponibilizado com ♥ por cami-la.

Extension points exported contracts — how you extend this code

IAvaliacaoFisicaService (Interface)
(no doc)
src/main/java/me/dio/academia/digital/service/IAvaliacaoFisicaService.java
IMatriculaService (Interface)
(no doc)
src/main/java/me/dio/academia/digital/service/IMatriculaService.java
IAlunoService (Interface)
(no doc)
src/main/java/me/dio/academia/digital/service/IAlunoService.java
AvaliacaoFisicaRepository (Interface)
(no doc)
src/main/java/me/dio/academia/digital/repository/AvaliacaoFisicaRepository.java
MatriculaRepository (Interface)
(no doc)
src/main/java/me/dio/academia/digital/repository/MatriculaRepository.java

Core symbols most depended-on inside this repo

main
called by 0
src/main/java/me/dio/academia/digital/AcademiaDigitalApplication.java
JavaTimeUtils
called by 0
src/main/java/me/dio/academia/digital/infra/utils/JavaTimeUtils.java
customize
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/ObjectMapperConfig.java
LocalDateSerializer
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateSerializer.java
serialize
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateSerializer.java
LocalDateTimeSerializer
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateTimeSerializer.java
serialize
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateTimeSerializer.java
LocalDateDeserializer
called by 0
src/main/java/me/dio/academia/digital/infra/jackson/deser/LocalDateDeserializer.java

Shape

Method 26
Class 19
Interface 6

Languages

Java100%

Modules by API surface

src/main/java/me/dio/academia/digital/service/IAvaliacaoFisicaService.java6 symbols
src/main/java/me/dio/academia/digital/service/IAlunoService.java6 symbols
src/main/java/me/dio/academia/digital/service/IMatriculaService.java5 symbols
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateTimeSerializer.java3 symbols
src/main/java/me/dio/academia/digital/infra/jackson/ser/LocalDateSerializer.java3 symbols
src/main/java/me/dio/academia/digital/infra/jackson/deser/LocalDateTimeDeserializer.java3 symbols
src/main/java/me/dio/academia/digital/infra/jackson/deser/LocalDateDeserializer.java3 symbols
src/test/java/me/dio/academia/digital/AcademiaDigitalApplicationTests.java2 symbols
src/main/java/me/dio/academia/digital/infra/utils/JavaTimeUtils.java2 symbols
src/main/java/me/dio/academia/digital/infra/jackson/ObjectMapperConfig.java2 symbols
src/main/java/me/dio/academia/digital/AcademiaDigitalApplication.java2 symbols
src/main/java/me/dio/academia/digital/repository/MatriculaRepository.java1 symbols

For agents

$ claude mcp add academia-digital \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact