원클릭으로
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.