Skip to content

playmaker0643/Student-data-system

Repository files navigation

Student Management System - Flutter

A comprehensive, production-ready Student Management System built with Flutter. Designed for educational institutions to efficiently manage student records, track academic performance, and monitor attendance.

🎯 Features

Core Functionality

  • Student Management

    • Add, edit, view, and delete student records
    • Comprehensive student profiles with personal & academic information
    • Search and filter students by name, roll number, email, or class
  • Dashboard

    • Real-time statistics (total students, average GPA, attendance rate)
    • Quick action buttons for common tasks
    • Recent students list with quick access
  • Student Profiles

    • Full contact information (email, phone, address)
    • Academic details (GPA, attendance percentage)
    • Personal information (DOB, enrollment date)
    • Visual progress indicators for performance metrics
  • Data Management

    • Local SQLite database for offline functionality
    • Advanced filtering by class
    • Search across multiple fields
    • Statistics and analytics
  • Modern UI

    • Material Design 3 compliant
    • Intuitive navigation with clear hierarchy
    • Responsive design for various screen sizes
    • Smooth animations and transitions
    • Dark and light theme support

πŸ“‹ Project Structure

lib/
β”œβ”€β”€ main.dart                          # App entry point
β”œβ”€β”€ models/
β”‚   └── student.dart                   # Student data model
β”œβ”€β”€ services/
β”‚   └── database_service.dart          # SQLite database operations
└── screens/
    β”œβ”€β”€ home_screen.dart               # Dashboard
    β”œβ”€β”€ students_list_screen.dart      # All students view
    β”œβ”€β”€ add_student_screen.dart        # Add/Edit student form
    └── student_detail_screen.dart     # Student profile view

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.0 or higher)
  • Dart SDK
  • Android Studio or VS Code with Flutter extensions
  • Android device or emulator

Installation

  1. Clone the repository

    git clone <repository-url>
    cd student_management_system
  2. Get dependencies

    flutter pub get
  3. Run the app

    flutter run

Build APK (Android)

flutter build apk --release

Build App Bundle (Android)

flutter build appbundle --release

πŸ“± App Screens

1. Dashboard Screen

  • Overview of system statistics
  • Average GPA and attendance metrics
  • Recent students list
  • Quick action buttons

2. Students List Screen

  • View all students in a beautiful card layout
  • Search functionality (real-time)
  • Filter by class
  • Quick view of GPA and attendance
  • Tap to view full profile

3. Add/Edit Student Screen

  • Comprehensive form with validation
  • Personal information fields
  • Academic details
  • Date pickers for DOB and enrollment
  • Real-time form validation

4. Student Profile Screen

  • Complete student information
  • Visual progress bars for GPA and attendance
  • Contact and personal details
  • Action buttons (Edit, Delete)
  • Quick statistics display

πŸ› οΈ Key Dependencies

# Navigation & State Management
provider: ^6.0.0
get: ^4.6.5

# Database
sqflite: ^2.3.0
path: ^1.8.3

# UI
cupertino_icons: ^1.0.2
feather_icons: ^1.2.0

# Date/Time
intl: ^0.19.0

# JSON Serialization
json_annotation: ^4.8.1
json_serializable: ^6.7.1

πŸ“Š Database Schema

Students Table

CREATE TABLE students (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  firstName TEXT NOT NULL,
  lastName TEXT NOT NULL,
  email TEXT NOT NULL UNIQUE,
  phone TEXT NOT NULL,
  rollNumber TEXT NOT NULL UNIQUE,
  className TEXT NOT NULL,
  dateOfBirth TEXT NOT NULL,
  address TEXT NOT NULL,
  gpa REAL DEFAULT 0.0,
  attendancePercentage INTEGER DEFAULT 100,
  enrollmentDate TEXT NOT NULL,
  profileImagePath TEXT DEFAULT ''
)

🎨 Design & Theme

The app follows Material Design 3 principles with:

  • Primary Color: Indigo (#6366F1)
  • Accent Colors:
    • Success/GPA: Emerald (#10B981)
    • Warning/Attendance: Amber (#F59E0B)
    • Secondary: Purple (#8B5CF6)
  • Typography:
    • Display: Outfit (bold, distinctive)
    • Body: Poppins (clean, readable)
  • Visual Elements:
    • Rounded corners (10-12px)
    • Soft shadows
    • Smooth transitions
    • Consistent spacing

πŸ’‘ Usage Examples

Adding a Student

  1. Tap the '+' FAB or 'Add Student' button
  2. Fill in all required fields
  3. Use date pickers for birth date and enrollment date
  4. Tap 'Add Student' to save

Searching Students

  1. Open Students List screen
  2. Type in the search bar (filters by name, roll no., email)
  3. Use class filter chips to narrow down results

Viewing Student Details

  1. Tap any student card
  2. View comprehensive profile
  3. Edit or delete using action buttons

Updating GPA or Attendance

  1. Open student profile
  2. Tap 'Edit Student'
  3. Update GPA and attendance percentage
  4. Save changes

πŸ” Data Integrity

  • Email Validation: Email format validation in forms
  • Unique Constraints: Roll number and email are unique
  • Data Types: Proper type checking and conversion
  • Error Handling: User-friendly error messages
  • Input Validation: Comprehensive form validation

πŸ“ˆ Performance Features

  • Efficient Queries: Optimized SQLite queries
  • Lazy Loading: Smooth data fetching
  • Search Optimization: Real-time filtering without DB overhead
  • Memory Management: Proper controller disposal
  • UI Performance: Smooth 60fps animations

πŸ”„ Data Operations

CRUD Operations

All standard database operations are implemented:

  • Create: Insert new students
  • Read: Query students with filters and search
  • Update: Modify student information
  • Delete: Remove student records

Advanced Queries

  • Search across multiple fields
  • Filter by class
  • Get total count statistics
  • Calculate average GPA
  • Calculate average attendance

🎯 Future Enhancements

Potential features for future versions:

  • Photo upload for student profiles
  • Grades and assignment management
  • Parent/Guardian contact system
  • Export reports (PDF, Excel)
  • Exam schedule management
  • Fee/Payment tracking
  • Notification system
  • Cloud sync capability
  • Multi-user authentication

πŸ› Troubleshooting

Issue: Database errors

Solution: Delete app data and reinstall

flutter clean
flutter pub get
flutter run

Issue: Field validation errors

Solution: Ensure all required fields are filled with valid data

Issue: Slow search

Solution: App performs well with up to 10,000 students. For more, implement pagination

πŸ“ Best Practices

  1. Regular Backups: Implement cloud sync for data backup
  2. Input Validation: Always validate before submission
  3. Error Handling: Handle network and database errors gracefully
  4. Performance: Test with large datasets
  5. Accessibility: Ensure adequate contrast ratios

🀝 Contributing

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes
  4. Push to branch
  5. Create Pull Request

πŸ“„ License

This project is licensed under the MIT License - see LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Developed as a comprehensive educational project for institution management.

πŸ“ž Support

For issues, bugs, or feature requests, please open an issue in the repository.


Version: 1.0.0
Last Updated: 2024
Status: Production Ready

About

A flutter frame work project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors