Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Yurben-bit/Sistema-de-Administraci-n-Escolar-Backend/llms.txt
Use this file to discover all available pages before exploring further.
Overview
EduTec Backend is built on Spring Boot 2.6.6 with Java 8, following a layered MVC (Model-View-Controller) architecture pattern. The application is designed for educational administration with RESTful API endpoints.System Architecture
The application currently follows a simplified layered architecture. The system is in early development with basic authentication functionality:Package Organization
The codebase is organized into distinct packages following Spring Boot best practices:- controller
- model
- dto
- security
Location:
com.tecmilenio.edutec.controllerContains REST controllers that handle HTTP requests and responses.Responsibilities:- Define API endpoints
- Validate incoming requests
- Return appropriate HTTP responses
- Delegate business logic to services
AuthController.java handles authentication endpointsTechnology Stack
The project leverages a comprehensive set of Spring Boot and Java ecosystem libraries:Core Framework
Key Dependencies
Data Access & Persistence
Data Access & Persistence
Spring Data JPA - Object-Relational Mapping and repository abstractionSpring Data JDBC - Direct JDBC access when neededHibernate 5.x - JPA implementation with advanced features:
hibernate-agroal(5.4.30.Final) - Connection poolinghibernate-search-orm(5.11.8.Final) - Full-text search capabilitieshibernate-validator(7.0.1.Final) - Bean validationhibernate-envers(5.5.0.Final) - Entity auditing and versioning
Database Drivers
Database Drivers
The application supports multiple database systems:
- MySQL (8.0.19) - Primary production database
- MariaDB - MySQL-compatible alternative
- Oracle JDBC (21.5.0.0) - Enterprise database support
- MS SQL Server - Microsoft database support
- H2 - In-memory database for development/testing
Security & Authentication
Security & Authentication
JWT (JSON Web Tokens) - Stateless authentication using
io.jsonwebtoken (0.11.5):jjwt-api- Core JWT APIjjwt-impl- Implementation libraryjjwt-jackson- JSON processing
Spring Security starter is currently commented out in
pom.xml:103-106, indicating a custom lightweight authentication implementation.Web & API
Web & API
Spring Boot Starter Web - RESTful web servicesSpring Boot Starter Mail - Email functionalityTomcat Embed Jasper - JSP support (provided scope)Springfox Swagger (2.4.0) - API documentation:
springfox-swagger2- OpenAPI specificationspringfox-swagger-ui- Interactive documentation UI
Utilities & Development
Utilities & Development
Lombok - Boilerplate code reduction (@Data, @NoArgsConstructor, etc.)Dozer (5.5.1) - Bean mapping and transformationSpring DevTools - Hot reload during developmentSpring Session JDBC - Distributed session managementZXing (3.2.1) - QR code generation (javase)CGLIB (3.3.0) - Bytecode generation for proxiesJAXB API (2.3.0) - XML binding for Java 8+
Application Structure
The Spring Boot application follows the standard project structure:Application Name:
edutec (defined in application.properties:1)Group ID: com.escolarArtifact ID: com.escolarRequest Flow Example
Here’s how a typical authentication request flows through the system:- Client sends POST request to
/auth/loginwith credentials - AuthController receives the request and extracts
LoginRequestDTO - JwtService generates a JWT token for the username
- Controller returns the token as a String response
- Client stores the token for subsequent authenticated requests
Build Configuration
The project uses Maven as its build tool with the following plugins:Spring Boot Maven Plugin
Packages the application as an executable JAR with embedded Tomcat server. Excludes Lombok from the final artifact.Asciidoctor Maven Plugin
Generates HTML documentation from Asciidoc files during theprepare-package phase, integrating with Spring REST Docs.
Maven Resources Plugin
Handles resource filtering and copying (version 3.1.0).Next Steps
Now that you understand the architecture, explore:- Authentication - JWT implementation details
- Database - Data persistence and entity mapping
- API Reference - Available endpoints