Backend e API (Spring Boot)¶
O backend do EdTech atua como uma API RESTful independente, empacotada e orquestrada via Spring Boot 4.1.
Arquitetura em Camadas¶
Seguimos a arquitetura padrão baseada em domínio de negócio isolado:
-
Controllers (
com.edTech.controller): Pontos de entrada HTTP. -
Services (
com.edTech.service): Onde a lógica de negócio principal e regras de autorização habitam. -
Repositories (
com.edTech.repository): Interfaces JPA para persistência de dados. -
Models/Entities (
com.edTech.model): Mapeamento Objeto-Relacional (ORM) e Enums. -
DTOs (
com.edTech.dto): Objetos que blindam a entidade para o envio ou recebimento de dados da internet.
Segurança e Autenticação¶
A arquitetura utiliza JWT injetados via cookies seguros HTTPOnly (SameSite=Lax), blindando a aplicação contra ataques XSS e permitindo navegação top-level cross-origin.
Qualquer rota protegida passa pelo JwtAuthenticationFilter antes de chegar no Controller.
Persistência de Dados (Flyway)¶
Para garantir que o banco de dados possa ser replicado consistentemente entre o computador dos desenvolvedores e a nuvem, nós não utilizamos o gerador automático do Hibernate (ddl-auto=update).
Toda evolução do banco de dados (novas tabelas, colunas, chaves estrangeiras) é feita explicitamente através dos scripts de migração do Flyway, contidos em src/main/resources/db/migration/.
Histórico de Versões¶
| Versão | Data | Descrição | Autor |
|---|---|---|---|
1.0 |
13/06/2026 | Criação do documento de suporte ao DevEx | Pedro Henrique P. Santos |
1.1 |
13/06/2026 | Revisão técnica e reestruturação da documentação | Pedro Henrique P. Santos |
1.2 |
04/07/2026 | Revisão profunda, correção de metadados e melhorias visuais | Pedro Henrique P. Santos |