# HMG Patient App
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								A comprehensive Flutter-based mobile application for HMG (Hospital Management Group) patients, providing seamless healthcare services and patient management features.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								## 📱 Features
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  **Patient Registration &  Authentication**: Secure login and registration system 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Appointment Management**: Book, reschedule, and manage medical appointments 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Medical Records**: Access to personal health records and medical history 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Doctor Consultation**: Video consultations and chat with healthcare providers 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Health Monitoring**: Track vital signs and health metrics 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Prescription Management**: View and manage prescriptions 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Payment Integration**: Secure payment processing for medical services 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Multi-language Support**: Available in English and Arabic 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Push Notifications**: Real-time updates for appointments and health reminders 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Calendar Integration**: Sync appointments with device calendar 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Location Services**: Find nearby hospitals and clinics 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								## 🚀 Getting Started
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Prerequisites
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  Flutter SDK (>=3.0.0) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Dart SDK (>=3.0.0) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Android Studio / VS Code 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Android SDK (for Android development) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Xcode (for iOS development, macOS only) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Installation
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								1.  **Clone the repository:**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   git clone < repository-url > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   cd HMG_Patient_App_New
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								2.  **Install dependencies:**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   flutter pub get
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								3.  **Configure Firebase:**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   -  Add your `google-services.json`  file to `android/app/` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   -  Add your `GoogleService-Info.plist`  file to `ios/Runner/` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								4.  **Run the application:**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   flutter run
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 🏗️ Project Structure
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								lib/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── core/                   # Core utilities and constants
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── extensions/             # Dart extensions
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── features/              # Feature-based modules
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── generated/             # Generated files (localization, etc.)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── presentation/          # UI screens and widgets
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── routes/                # App navigation and routing
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── services/              # Business logic and API services
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── theme/                 # App theming and styling
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── widgets/               # Reusable UI components
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── main.dart              # App entry point
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								└── splashPage.dart        # Splash screen
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assets/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── animations/            # Lottie animations
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── fonts/                 # Custom fonts (Poppins, Gess Two)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── images/                # PNG and SVG images
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								├── json/                  # JSON data files
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								└── langs/                 # Localization files
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 🛠️ Technologies Used
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Framework**: Flutter 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Language**: Dart 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **State Management**: [Your state management solution] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Backend Services**: Firebase 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Authentication**: Firebase Auth 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Database**: Cloud Firestore 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Push Notifications**: Firebase Cloud Messaging 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Maps**: Google Maps 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Payment**: Amazon PayFort 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Video Calling**: Flutter Zoom Video SDK 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Local Storage**: SQLite, Shared Preferences 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 📱 Supported Platforms
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  ✅ Android (API level 21+) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  ✅ iOS (iOS 12.0+) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  ✅ Foldable devices support 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  ✅ Tablet optimization 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 🌐 Localization
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The app supports multiple languages:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  English (en-US) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Arabic (ar-SA) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 🔧 Configuration
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Environment Setup
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								1.  **API Keys** : Configure your API keys in the appropriate configuration files 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								2.  **Firebase** : Set up Firebase project and add configuration files 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								3.  **Maps** : Add Google Maps API key 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								4.  **Payment** : Configure PayFort credentials 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Build Variants
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Debug**: Development build with debugging enabled 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Release**: Production-ready optimized build 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 📝 Development Guidelines
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Code Style
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Follow Dart/Flutter best practices 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Use consistent naming conventions 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Implement proper error handling 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Write comprehensive documentation 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Testing
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Run unit tests
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								flutter test
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Run integration tests
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								flutter test integration_test/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Building for Production
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								**Android:**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								flutter build apk --release
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# or
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								flutter build appbundle --release
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								**iOS:**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								flutter build ios --release
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 🤝 Contributing
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								1.  Fork the repository 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								2.  Create a feature branch (`git checkout -b feature/new-feature`) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								3.  Commit your changes (`git commit -am 'Add new feature'`) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								4.  Push to the branch (`git push origin feature/new-feature`) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								5.  Create a Pull Request 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 📄 License
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This project is proprietary software developed for HMG Healthcare Group.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 📞 Support
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For technical support or questions, please contact:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Development Team: [your-email@domain.com] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Project Manager: [pm-email@domain.com] 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## 📊 Version History
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **v1.0.0** - Initial release with core features 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **v1.1.0** - Added foldable device support and UI improvements 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **v1.2.0** - Enhanced calendar integration and performance optimizations 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								**Built with ❤️ for better healthcare accessibility**