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.
-
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
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
- Flutter SDK (3.0 or higher)
- Dart SDK
- Android Studio or VS Code with Flutter extensions
- Android device or emulator
-
Clone the repository
git clone <repository-url> cd student_management_system
-
Get dependencies
flutter pub get
-
Run the app
flutter run
flutter build apk --releaseflutter build appbundle --release- Overview of system statistics
- Average GPA and attendance metrics
- Recent students list
- Quick action buttons
- 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
- Comprehensive form with validation
- Personal information fields
- Academic details
- Date pickers for DOB and enrollment
- Real-time form validation
- Complete student information
- Visual progress bars for GPA and attendance
- Contact and personal details
- Action buttons (Edit, Delete)
- Quick statistics display
# 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.1CREATE 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 ''
)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
- Tap the '+' FAB or 'Add Student' button
- Fill in all required fields
- Use date pickers for birth date and enrollment date
- Tap 'Add Student' to save
- Open Students List screen
- Type in the search bar (filters by name, roll no., email)
- Use class filter chips to narrow down results
- Tap any student card
- View comprehensive profile
- Edit or delete using action buttons
- Open student profile
- Tap 'Edit Student'
- Update GPA and attendance percentage
- Save changes
- 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
- 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
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
- Search across multiple fields
- Filter by class
- Get total count statistics
- Calculate average GPA
- Calculate average attendance
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
Solution: Delete app data and reinstall
flutter clean
flutter pub get
flutter runSolution: Ensure all required fields are filled with valid data
Solution: App performs well with up to 10,000 students. For more, implement pagination
- Regular Backups: Implement cloud sync for data backup
- Input Validation: Always validate before submission
- Error Handling: Handle network and database errors gracefully
- Performance: Test with large datasets
- Accessibility: Ensure adequate contrast ratios
To contribute:
- Fork the repository
- Create a feature branch
- Commit changes
- Push to branch
- Create Pull Request
This project is licensed under the MIT License - see LICENSE file for details.
Developed as a comprehensive educational project for institution management.
For issues, bugs, or feature requests, please open an issue in the repository.
Version: 1.0.0
Last Updated: 2024
Status: Production Ready