A Flutter application for managing mother registrations and plant care in the Green Palna Yojna program. The app supports bilingual interface (English and Hindi) and provides role-based access for hospital staff, mothers, and AWW (Anganwadi) workers.
- Multi-role login system (Hospital Staff, Mother, AWW)
- OTP-based authentication
- Role-specific dashboards
- Mother Registration Form: Comprehensive registration with all required fields
- Local Data Storage: All registrations stored locally using SharedPreferences
- Mothers List: View, search, and manage all registered mothers
- Statistics Dashboard: Real-time statistics based on stored data
- Data Persistence: Data persists across app restarts until manually deleted
- Plant assignment tracking
- Photo upload capabilities
- Care instructions and tips
- Review plant care uploads
- Progress monitoring
- Report generation
The app uses SharedPreferences for local data storage, providing:
- No Backend Required: Works completely offline
- Data Persistence: Data survives app restarts
- Fast Performance: Local storage is instant
- Privacy: All data stays on the device
- Easy Management: Simple CRUD operations
- Mother personal information
- Delivery details
- Address information
- Plant selections
- File paths (certificates and photos)
- Registration timestamps
- Save:
LocalStorageService.saveMotherRegistration() - Retrieve:
LocalStorageService.getAllMotherRegistrations() - Search:
LocalStorageService.searchRegistrations() - Delete:
LocalStorageService.deleteMotherRegistration() - Update:
LocalStorageService.updateMotherRegistration()
- Flutter SDK (latest stable version)
- Dart SDK
- Android Studio / VS Code
-
Clone the repository
git clone <repository-url> cd green_palna_yojna_app
-
Install dependencies
flutter pub get
-
Run the app
flutter run
- Login as Hospital Staff
- Register New Mother using the comprehensive form
- View All Mothers in the list screen
- Search and Manage registrations
- Monitor Statistics on the dashboard
- All mother registrations are stored locally
- Data persists until manually deleted
- Search functionality for quick access
- Export capabilities (coming soon)
lib/
βββ models/
β βββ mother_registration.dart # Data model for mother registrations
βββ screens/
β βββ hospital/
β β βββ hospital_dashboard.dart
β β βββ register_mother_screen.dart
β β βββ mothers_list_screen.dart
β βββ mother/
β β βββ mother_dashboard.dart
β βββ aww/
β βββ aww_dashboard.dart
βββ services/
β βββ local_storage_service.dart # Local storage operations
β βββ auth_service.dart
β βββ api_service.dart
βββ utils/
βββ app_localizations.dart # Bilingual support
βββ theme.dart
βββ responsive.dart
class MotherRegistration {
final String id;
final String motherName;
final String fatherHusbandName;
final String mobileNumber;
final DateTime deliveryDate;
final String deliveryType;
final String bloodGroup;
final String district;
final String project;
final String sector;
final String anganwadiCenter;
final List<String> selectedPlants;
final String? certificatePath;
final String? photoPath;
final DateTime registrationDate;
}// Save a new registration
await LocalStorageService.saveMotherRegistration(registration);
// Get all registrations
List<MotherRegistration> registrations = await LocalStorageService.getAllMotherRegistrations();
// Search registrations
List<MotherRegistration> results = await LocalStorageService.searchRegistrations("query");
// Delete a registration
await LocalStorageService.deleteMotherRegistration("id");
// Get registration count
int count = await LocalStorageService.getRegistrationCount();- Data export functionality
- Backup and restore features
- Cloud synchronization
- Advanced search filters
- Data analytics and reporting
- Photo management system
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please contact the development team or create an issue in the repository.