A full-stack Student Management System built with Kotlin (Android) and Spring Boot (Backend).
This project allows users to add, view, update, and delete student records easily with a clean UI and modern architecture.
This project demonstrates a complete Android–Spring Boot integration using:
- 🧩 MVVM architecture on Android
- ⚡ RxJava2 for asynchronous data handling
- ✔️ Live Data for change data to live and save with viewModel
- 💿 Room for save data to local
- 🌐 Retrofit for API communication
- 💾 Spring Boot REST API as the backend
💡 You can view the Spring Boot backend project in my other repository:
🔗 Student Manager Backend Repository
- Developed with Kotlin
- MVVM architecture pattern
- Retrofit + RxJava2 integration
- SweetAlertDialog for modern alerts
- ViewModel for save smart
- Room local database
- ViewBinding enabled
- CRUD operations: Add, View, Update, Delete students
- RESTful API using Spring Boot
- MVC architecture
- JPA Repository for database operations
- Connected to MySQL / H2
- Endpoints:
POST /students
→ Add new studentGET /students
→ Retrieve all studentsPUT /students/{id}
→ Update studentDELETE /students/{id}
→ Delete student
Component | Technology |
---|---|
Language | Kotlin |
Architecture | MVVM |
LocalDatabase | Room DB |
Networking | Retrofit2 + RxJava2 |
UI | ViewBinding, SweetAlertDialog |
Min SDK | 24 |
Target SDK | 36 |
Component | Technology |
---|---|
Framework | Spring Boot |
Architecture | MVC |
Language | Kotlin / Java |
Database | MySQL / H2 |
Architecture | MVC |
Build Tool | Gradle / Maven |
com.example.studentmanagermvcandrxjava/
├── model/
| |── api/
| | └──ApiService
| ├──local/
| | |──student/
| | | |──Student
| | | └──StudentDao
| | └──MyDatabase
| └──MainRepository
|
├── MainScreen/
| ├──MainScreenActivity
| ├──MainScreenViewModel
| └──StudentAdapter
|
├── AddStudent/
| ├──AddStudentActivity
| └──AddStudentViewModel
|
└── utils/
| ├──Extentions
| ├──Utils
| ├──Constance
| ├──MainViewModelFactory
| ├──ApiServiceSingleTon
| └──Constance
|
You can find the backend setup instructions in the backend repository:
👉 Student Manager Backend Repository
git clone https://github.com/omidiDeveloper/StudentManager
cd StudentManager
In Retrofit config:
const val BASE_URL = "http://YOUR_LOCAL_IP:8080/"
Then build and run on Android Studio.
[
{
"id": 1,
"name": "Mohammad Omidi",
"course": "Android",
"score": "20"
},
{
"id": 2,
"name": "test user",
"course": "Physics",
"score": "10"
}
]
implementation "com.squareup.retrofit2:retrofit:3.0.0"
implementation "com.squareup.retrofit2:converter-gson:3.0.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:3.0.0"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "io.reactivex.rxjava2:rxjava:2.2.21"
implementation "com.github.f0ris.sweetalert:library:1.6.2"
Mohammad Omidi
📍 Android Developer | Kotlin & Spring Boot Enthusiast
-📧 OmidiKotlin@gmail.com
-💻 GitHub: @omidiDeveloper
-🔗 LinkedIn: Mohammad Omidi Zadeh
MIT License © 2025 Mohammad Omidi
⭐ If you like this project, give it a star!