EduTrack-API is a robust school management backend developed using Java 17 and Spring Boot 3. This project demonstrates the practical implementation of a RESTful API designed to manage student data through a strictly decoupled layered architecture.
The software architecture prioritizes Separation of Concerns (SoC), utilizing a data pipeline that connects the client to an H2 In-Memory Database through JPA (Java Persistence API). It ensures high scalability by separating business logic from data access and controller endpoints.
- Core Language: Java (JDK 17)
- Framework: Spring Boot 3.2.2
- Data Persistence: Spring Data JPA / Hibernate
- Database: H2 (In-Memory / File-based)
- Build Tool: Apache Maven
- Architecture: Layered Architecture (Controller, Service, Model, Repository)
The system is engineered into discrete modules to ensure maintainability. Below is a matrix of the core components:
| Module / Package | Engineering Concept | Core Functionality |
|---|---|---|
| Controller | REST Endpoints |
Mapping HTTP verbs (GET, POST, PUT, DELETE) to service logic. |
| Service | Business Logic |
Handling data processing and acting as an intermediary for repository calls. |
| Model | JPA Entities |
Defining the data schema and mapping objects to relational database tables. |
| Repository | Data Access Layer |
Extending JpaRepository to provide automated CRUD operations without SQL boilerplate. |
A standardized backend programming pipeline was implemented to ensure efficient data handling:
- Request Mapping: Intercepting JSON payloads through REST controllers.
- Dependency Injection: Using
@Autowiredto manage component lifecycles and ensure loose coupling. - Data Persistence: Automating object-relational mapping (ORM) to save and retrieve hardware-agnostic data.
- H2 Telemetry: Real-time monitoring of database state through the H2 Web Console.
- Clone the repository:
git clone [https://github.com/HJLeslye/EduTrack-API.git](https://github.com/HJLeslye/EduTrack-API.git)
- Navigate to the project directory:
cd EduTrack-API - Compile and Run via Maven:
mvn clean spring-boot:run
- Testing Endpoints:
- GET ALL:
http://localhost:8080/api/students - H2 Console:
http://localhost:8080/h2-console(JDBC URL:jdbc:h2:mem:edutrackdb)
- GET ALL:
Leslye Hernández Jiménez IT & Communications Engineering
LinkedIn: View Profile Email: hdezj.leslye@gmail.com
Developed for academic purposes to demonstrate proficiency in Backend Engineering, Java Spring Boot, and RESTful API Design.