بنقرة واحدة
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.