Skip to content

Student Management System (Flutter + Hive DB) is a mobile/web application built with Flutter that allows users to manage students by class (10th, 11th, 12th) using Hive, a lightweight and blazing-fast local NoSQL database. This project demonstrates a complete CRUD implementation with a beautiful and responsive UI. It is ideal for learning Flutter.

License

Notifications You must be signed in to change notification settings

seshathri044/student-management-system-flutter-hive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Management System (Flutter + Hive DB)

A modern and responsive Flutter application for managing student records across different classes (10th, 11th, 12th).
Built with Hive DB for fast and lightweight local storage, following Clean Architecture principles to ensure scalability, maintainability, and performance.

✨ Supports mobile, web, and desktop platforms, with a clean UI and complete CRUD functionality (Create, Read, Update, Delete).

πŸ—οΈ Architecture

lib/
β”œβ”€β”€ core/                # Common utilities, DI container, error handling
β”œβ”€β”€ data/                # Data sources + repository implementations
β”‚   β”œβ”€β”€ datasources/
β”‚   β”œβ”€β”€ models/
β”‚   └── repositories/
β”œβ”€β”€ domain/              # Business logic (entities, repositories, use cases)
β”‚   β”œβ”€β”€ repositories/
β”‚   └── usecases/
β”œβ”€β”€ presentation/        # UI layer (pages, widgets, state management)
β”‚   └── pages/
└── main.dart            # App entry point

πŸ“Œ Highlights:

  • Data Layer β†’ Hive DB (local storage)
  • Domain Layer β†’ Use cases (add, update, delete, fetch students)
  • Presentation Layer β†’ Clean UI with Flutter

✨ Features

  • βœ… Modern welcome and class selection screens
  • βœ… CRUD (Create, Read, Update, Delete) students
  • βœ… Persistent storage using Hive DB
  • βœ… Class‑wise separation of students (10th, 11th, 12th)
  • βœ… Beautiful and responsive UI
  • βœ… Works on Flutter Web, Windows, and Mobile
  • βœ… Structured with Clean Architecture
  • βœ… Dependency Injection (InjectionContainer)
  • βœ… Repository pattern for clean data access
  • βœ… Error handling & validation (empty fields, duplicate roll numbers, invalid age)
  • βœ… CI/CD with GitHub Actions (automatic tests on push/PR)
  • βœ… Ready for unit tests with test/ folder
  • βœ… Extensible β†’ Authentication, charts, CSV export in future

πŸ“¦ Hive Database

  • 🐝 Used Hive for lightweight local database
  • Created a Student model with @HiveType and @HiveField
  • Registered adapters during app initialization
  • Performed full CRUD operations:
    • Add student
    • View list of students
    • Edit student details
    • Delete student
  • Each class (10th / 11th / 12th) stores data in a different Hive box

πŸ“· Screenshots

Welcome Page git0 2 Class Selection Page git0 Class 10th(No Records) git1 Class 10th(With Records) git2 Class 12th(Adding the new Detials) git3 Class 12th(Added Records) git4 Class 12th(Update the Record) git5 Class 12th(Updated Records) git6


🧰 Prerequisites

Before you begin, ensure you have the following installed:

  • Flutter SDK
  • Dart SDK
  • Android Studio or VS Code with Flutter extension
  • Chrome (for web) or Android/iOS emulator/device

βš™οΈ Installation

  1. Clone the repo
    git clone https://github.com/seshathri044/student-management-system-flutter.git
    cd student-management-system-flutter
  2. Install dependencies
flutter pub get

▢️ Running the App For Web (Chrome):

flutter run -d chrome

For Android/iOS Emulator:

flutter run

πŸš€ CI/CD Setup (GitHub Actions)

This repo includes a workflow that:

  • βœ… Runs flutter test automatically on every push/PR
  • βœ… Ensures code quality & reliability
    CI/CD Status:
    Flutter CI

πŸ—‚ Project Structure

.github/
    β”œβ”€β”€ workflows/            # CI/CD workflows
lib/
    β”œβ”€β”€ core/                 # Utilities, DI, error handling
    β”œβ”€β”€  data/                # Data layer (Hive, repositories, models)
    β”œβ”€β”€  domain/              # Use cases, entities, repository contracts
    β”œβ”€β”€  presentation/        # UI screens
test/                         # Unit tests

🀝 Contributing

Contributions are welcome!

πŸ“„ License

This project is licensed under the MIT License.

πŸ‘€ Author

About

Student Management System (Flutter + Hive DB) is a mobile/web application built with Flutter that allows users to manage students by class (10th, 11th, 12th) using Hive, a lightweight and blazing-fast local NoSQL database. This project demonstrates a complete CRUD implementation with a beautiful and responsive UI. It is ideal for learning Flutter.

Resources

License

Stars

Watchers

Forks

Packages

No packages published