Skip to content

omidiDeveloper/StudentManager

Repository files navigation

🎓 Student Manager Application

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.


🧠 Overview

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


🚀 Features

🖥️ Android App (Frontend)

  • 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

🗄️ Spring Boot Backend

  • RESTful API using Spring Boot
  • MVC architecture
  • JPA Repository for database operations
  • Connected to MySQL / H2
  • Endpoints:
    • POST /students → Add new student
    • GET /students → Retrieve all students
    • PUT /students/{id} → Update student
    • DELETE /students/{id} → Delete student

🛠️ Tech Stack

Android

Component Technology
Language Kotlin
Architecture MVVM
LocalDatabase Room DB
Networking Retrofit2 + RxJava2
UI ViewBinding, SweetAlertDialog
Min SDK 24
Target SDK 36

Backend

Component Technology
Framework Spring Boot
Architecture MVC
Language Kotlin / Java
Database MySQL / H2
Architecture MVC
Build Tool Gradle / Maven

📂 Project Structure (Android)


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
|

⚙️ Installation & Setup

🔧 Backend Setup

You can find the backend setup instructions in the backend repository:
👉 Student Manager Backend Repository

📱 Android Setup

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.


📸 Screenshots (Optional)

image image image image


🧪 Example API Response

[
  {
    "id": 1,
    "name": "Mohammad Omidi",
    "course": "Android",
    "score": "20"
  },
  {
    "id": 2,
    "name": "test user",
    "course": "Physics",
    "score": "10"
  }
]

📦 Dependencies (Android)

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"

👨‍💻 Author

Mohammad Omidi

📍 Android Developer | Kotlin & Spring Boot Enthusiast

-📧 OmidiKotlin@gmail.com
-💻 GitHub: @omidiDeveloper
-🔗 LinkedIn: Mohammad Omidi Zadeh


📝 License

MIT License © 2025 Mohammad Omidi

If you like this project, give it a star!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages