Skip to content

Repository files navigation

Student Management API

A production-style RESTful API built with Spring Boot following clean architecture principles and project-based learning. This project demonstrates how a simple CRUD application can evolve into a scalable backend system by introducing real-world software engineering concepts step by step.

The goal of this project is not only to build a Student Management System but also to showcase backend engineering skills, clean code practices, and progressive software architecture.

Tech Stack

  • Java
  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • SpringSecurity
  • Hibernate
  • MySQL
  • Maven
  • Lombok
  • Jakarta Bean Validation
  • Git & GitHub
  • Swagger
  • J-Unit Testing and mockito
  • Docker
  • Docker Compose

Clean Architecture(Code) Principles

  • Single Responsibility
  • DRY - Dont Repeat Your Self
  • Meaningfull names

Concepts Learned

This project demonstrates practical implementation of:

  • REST API Development
  • Layered Architecture
  • Dependency Injection
  • Spring Data JPA
  • Hibernate ORM
  • DTO Pattern
  • Entity Mapping
  • Bean Validation
  • Global Exception Handling
  • Custom Exceptions
  • Pagination
  • Dynamic Sorting
  • Many-to-Many Relationships
  • Clean Code
  • Single Responsibility Principle (SRP)
  • DRY (Don't Repeat Yourself)
  • Project-Based Learning
  • Swagger Open API
  • Docker
  • Docker Compose

Upcoming Features

  • Search by Multiple Fields
  • Swagger / OpenAPI Documentation
  • Spring Security
  • JWT Authentication
  • Role-Based Authorization
  • Unit Testing (JUnit & Mockito)
  • Integration Testing
  • Docker
  • MySQL
  • Deployment
  • Redis

Why I Built This Project

This project is part of my backend engineering journey. Instead of building multiple disconnected tutorials, I chose to build one application that grows from a simple CRUD API into a production-style backend system.

Every feature introduces a new Spring Boot concept while reinforcing software engineering principles such as clean architecture, separation of concerns, reusable code, and maintainability.


Author

(Ekabot Dev)

Backend Developer | Java | Spring Boot | REST APIs

Currently learning backend engineering through project-based learning while building production-style applications with Spring Boot.

About

A RESTful Student Management System API built with Spring Boot version 3.5.4 , Spring Data JPA, MySQL, Maven, Docker, Swagger.,Redis

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages