A powerful Spring Boot MVC application for managing student records — built using Kotlin, Spring Boot, and JPA (Hibernate). This backend service provides RESTful APIs to create, read, update, and delete (CRUD) student data efficiently. It is designed to integrate easily with Android, web, or desktop frontends.
You can also check out the Android Application that connects to this backend!
👉 View Android App Repository
- ⚙️ Features
- 🏗️ Architecture
- 🧠 Technologies Used
- 📁 Project Structure
- 🚀 API Endpoints
- 💾 Database Configuration
▶️ Running the Project- 📸 Screenshots
- 📜 License
✅ Built with Spring Boot and Kotlin
✅ Follows MVC Architecture
✅ CRUD operations for students
✅ Uses Spring Data JPA for database management
✅ Supports MySQL integration
✅ Well-structured RESTful API design
✅ Ready for Android or Web integration
The application is based on MVC (Model-View-Controller) pattern:
Model → org.example.student_spring.model.Student
View → (Handled via API responses, suitable for web or Android)
Controller → org.example.student_spring.controller.StudentController
Repository → org.example.student_spring.repositories.StudentRepository
Layer | Technology |
---|---|
Language | Kotlin |
Framework | Spring Boot |
Database | MySQL |
ORM | Spring Data JPA |
Build Tool | Gradle |
Architecture | MVC |
student_spring/
│
├── src/
│ ├── main/
│ │ ├── kotlin/
│ │ │ └── org/example/student_spring/
│ │ │ ├── controller/StudentController.kt
│ │ │ ├── model/Student.kt
│ │ │ └── repositories/StudentRepository.kt
│ │ └── resources/
│ │ ├── application.properties
│ │ └── templates/
│ └── test/
│
├── build.gradle.kts
└── README.md
GET /students
Response:
[
{
"id": 1,
"name": "Mohammad Omidi",
"course": "Android",
"score": 20
}
]
POST /students
Request Body:
{
"name": "Mohammad Omidi",
"course": "Android",
"score": 17
}
Response:
Student inserted successfully
PUT /students/updating/{id}
Request Body:
{
"name": "Mohammad Omidi",
"course": "Math",
"score": 20
}
Response:
Student updated successfully
DELETE /students/deleting{id}
Response:
{id}
Add your MySQL configuration inside src/main/resources/application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/student_db
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
-
Clone this repository
git clone https://github.com/omidiDeveloper/student_spring.git
-
Navigate to the project directory
cd student_spring
-
Build the project
./gradlew build
-
Run the Spring Boot application
./gradlew bootRun
This project is open source and available under the MIT License. Feel free to use and modify it for educational or commercial purposes.
Mohammad Omidi
📍 Android Developer | Kotlin & Spring Boot Enthusiast
-📧 OmidiKotlin@gmail.com
-💻 GitHub: @omidiDeveloper
-🔗 LinkedIn: Mohammad Omidi Zadeh