ワンクリックで
clean-structure
Architectural patterns and package organization for a clean Spring Boot backend.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Architectural patterns and package organization for a clean Spring Boot backend.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Standardized testing stack for Sysacad Next Backend using JUnit 5, Mockito, and Spring Boot Test.
Mandatory rule requiring a corresponding test file for every business logic file.
Guidelines for unit and integration testing in the Sysacad Next BackEnd.
Catalog of all specialized skills used across the Sysacad Next project (Frontend & Backend).
Guías para pruebas de interacción de módulos y flujos completos con Spring Boot Test.
A tool for creating new skills following the Sysacad Next standard.
| name | clean-structure |
| description | Architectural patterns and package organization for a clean Spring Boot backend. |
El proyecto sigue una Arquitectura en Capas (Layered Architecture) organizada por paquetes. Esta estructura es vital para la mantenibilidad y desacoplamiento del sistema académico.
src/main/java/com/sysacad/backend/)controller/: Entrada de peticiones REST. Validan el acceso mediante @PreAuthorize y delegan la lógica a los servicios.service/: El núcleo de la aplicación. Contiene la lógica de negocio, validación de reglas académicas y transacciones (@Transactional).repository/: Abstracción de base de datos usando Spring Data JPA.modelo/: Entidades persistentes JPA. No deben salir de la capa de servicio.dto/: Objetos para el intercambio de datos (Request/Response).
dto.admin, dto.alumno).mapper/: Interfaces de MapStruct para la conversión segura y eficiente entre Entidades y DTOs.exception/: Excepciones personalizadas y el GlobalExceptionHandler (@ControllerAdvice).config/: Configuraciones globales (Seguridad, CORS, Seeders).modelo/) en los controladores. Toda entrada y salida debe ser un DTO.service.new DTO() o setX(entity.getX()). Usa los mappers definidos en mapper/.Admin* (ej. AdminCarreraController, AdminCarreraService) para diferenciarla de la lógica de usuario final.@Autowired en campos para facilitar el testing.