|
|
|
|
# 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Built with ❤️ for better healthcare accessibility**
|