Revolutionary mobile app for intelligent lung health monitoring and medical consultation
๐ง Currently in Beta Version ๐ง
- ๐ฑ Overview
- โจ Key Features
- ๐๏ธ Architecture & Tech Stack
- ๐ธ App Workflows
- ๐ Getting Started
- ๐ Project Structure
- ๐ง Configuration
- ๐ Features in Detail
- ๐ก๏ธ Security & Privacy
- ๐ Performance
- ๐ค Contributing
- ๐ License
- ๐ฎ Roadmap
Lungora is an innovative Flutter-based mobile application that revolutionizes lung health monitoring through artificial intelligence. The app combines cutting-edge AI technology with user-friendly design to provide comprehensive X-ray analysis, doctor consultations, and personalized health tracking.
To make lung health monitoring accessible, accurate, and convenient for everyone through the power of AI and mobile technology.
- ๐จ Development Stage: Beta Testing Phase
- ๐ฑ Platform Support: Android & iOS (Flutter)
- ๐ Public Release: Coming Soon
- ๐ฅ Team Size: Active development team
- ๐ Progress: Core features implemented
- ๐ Future Enhancements: Planned features and improvements
|
|
|
|
- ๐จ Theme Customization - Light/Dark mode support
- ๐ Privacy Controls - Granular data management
- ๐ Multi-Language - Localization support (planned)
- ๐ฑ Responsive Design - Works perfectly on all screen sizes
- ๐ Scan History - Track and review all previous X-ray analyses
- ๐ Smart Notifications - Customizable push notifications and health reminders
- ๐ Progress Tracking - Monitor health improvements over time
- ๐ Analytics Dashboard - Detailed health insights and trends
graph TD
A[Flutter] --> B[Dart Language]
A --> C[Material Design]
A --> D[Cross-Platform]
B --> E[BLoC Pattern]
E --> F[State Management]
E --> G[Cubit Implementation]
| Technology | Purpose | Version |
|---|---|---|
| Flutter | Cross-platform mobile framework | ^3.0.0 |
| Dart | Programming language | Latest |
| BLoC (Cubit) | State management pattern | ^8.1.3 |
| Go Router | Advanced navigation system | ^12.1.1 |
| ScreenUtil | Responsive UI design | ^5.9.0 |
- ๐ REST APIs - Clean and scalable API architecture
- ๐ก Dio HTTP Client - Advanced networking with interceptors
- ๐ JWT Authentication - Secure token-based sessions
- ๐ค FormData Handling - Multipart file uploads for images
- ๐ง Custom AI Model - Trained specifically for lung disease detection
- ๐ผ๏ธ Image Processing - Advanced preprocessing and validation
- โก Real-time Analysis - Fast and accurate predictions
- ๐ Quality Validation - File size and format checking
- ๐ Location Services - GPS integration with permission handling
- ๐ท Camera Integration - Native camera and gallery access
- ๐ Secure Storage - Encrypted local data storage
- ๐ Network Security - HTTPS and certificate pinning
๐ฑ App Launch โ ๐ Login/Register โ ๐ง OTP Verification โ โ
Dashboard Access
๐ท Capture/Upload Image โ โ๏ธ Crop & Validate Quality โ ๐ค AI Processing & Analysis โ ๐ Display Results & Recommendations โ ๐พ Generate & Save Medical Report
๐ Location Request โ ๐บ๏ธ Find Nearby Doctors โ ๐ค View Profiles & Reviews โ ๐ Contact/Book Appointment
๐ค Profile Access โ โ๏ธ Edit Personal Information โ ๐ Security Settings โ ๐พ Save Changes
๐ Dashboard โ ๐ View Scan History โ ๐ Search & Filter Results โ ๐ Compare Previous Scans โ ๐ค Export Reports
โ๏ธ Settings โ ๐ Notification Preferences โ ๐
Set Health Reminders โ ๐ Sync with Calendar โ ๐ฑ Receive Smart Alerts
- Flutter SDK (Latest stable version)
- Dart SDK (Latest version)
- IDE: Android Studio / VS Code / IntelliJ
- Git for version control
- Android/iOS Emulator or physical device
- ๐ฅ Clone the Repository
git clone https://github.com/omarAbdullahMoharam/lungora.git
cd lungora- ๐ฆ Install Dependencies
flutter pub get- ๐ง Configure API Endpoints
// lib/core/helpers/api_services.dart
const String baseUrl = "YOUR_API_BASE_URL";- ๐ฑ Android Permissions Setup
<!-- android/app/src/main/AndroidManifest.xml -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />- ๐ iOS Permissions Setup
<!-- ios/Runner/Info.plist -->
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to capture X-ray images</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs location access to find nearby doctors</string># Copy the example environment file
cp .env.example .envCreate a file named .env.example in the root of your project and add the following:
OPENROUTER_API_KEY=your_api_key_here
MODEL_VERSION=your_model
API_ENDPOINT=chat/completions
BASE_URL=https://openrouter.ai/api/v1
flutter run๐ฆ lungora/
โโโ ๐ฑ lib/
โ โโโ ๐ฏ core/
โ โ โโโ ๐ง helpers/
โ โ โ โโโ ๐ api_services.dart # API endpoints
โ โ โ โโโ ๐ location_service.dart # GPS & permissions
โ โ โ โโโ ๐ custom_snackbar.dart # UI feedback
โ โ โ โโโ ๐พ cache_helper.dart # Local storage
โ โ โโโ ๐จ utils/
โ โ โ โโโ ๐งญ app_router.dart # Navigation
โ โ โ โโโ ๐ญ styles.dart # UI themes
โ โ โ โโโ ๐ dependency_injection.dart # DI container
โ โ โ โโโ ๐ constants.dart # App constants
โ โ โโโ ๐งฉ widgets/
โ โ โโโ ๐ custom_elevated_button.dart
โ โ โโโ ๐ custom_text_field.dart
โ โ โโโ ๐ loading_widget.dart
โ โโโ ๐ features/
โ โ โโโ ๐ Auth/
โ โ โ โโโ ๐ data/
โ โ โ โ โโโ ๐๏ธ models/
โ โ โ โ โโโ ๐๏ธ repos/
โ โ โ โโโ ๐ญ presentation/
โ โ โ โ โโโ ๐๏ธ view/
โ โ โ โ โโโ ๐ง view_model/
โ โ โ โ โโโ ๐งฉ widgets/
โ โ โ โโโ ๐ฏ domain/
โ โ โโโ ๐จโโ๏ธ doctor/
โ โ โ โโโ ๐ data/
โ โ โ โโโ ๐ญ presentation/
โ โ โ โโโ ๐ฏ domain/
โ โ โโโ ๐ Scan/
โ โ โ โโโ ๐ data/
โ โ โ โ โโโ ๐๏ธ models/
โ โ โ โ โ โโโ ๐ค ai_model_response.dart
โ โ โ โ โโโ ๐๏ธ repos/
โ โ โ โโโ ๐ญ presentation/
โ โ โ โ โโโ ๐๏ธ view/
โ โ โ โ โโโ ๐ง view_model/
โ โ โ โ โโโ ๐งฉ widgets/
โ โ โ โ โโโ ๐ผ๏ธ build_image_preview.dart
โ โ โ โ โโโ โ ๏ธ build_warning_banner.dart
โ โ โ โ โโโ ๐ build_selected_image_title.dart
โ โ โ โโโ ๐ฏ domain/
โ โ โโโ โ๏ธ Settings/
โ โ โโโ ๐ data/
โ โ โโโ ๐ญ presentation/
โ โ โโโ ๐ฏ domain/
โ โโโ ๐ฏ main.dart
โโโ ๐จ assets/
โ โโโ ๐ผ๏ธ images/
โ โโโ ๐ญ icons/
โ โโโ ๐ค fonts/
โโโ ๐ค android/
โโโ ๐ ios/
โโโ ๐ pubspec.yaml
// lib/core/helpers/api_services.dart
abstract class ApiServices {
// Authentication
@POST("api/Auth/Login")
Future<AuthResponse> login(@Body() Map<String, dynamic> body);
@POST("api/Auth/Register")
Future<AuthResponse> register(@Body() Map<String, dynamic> body);
@POST("api/Auth/VerifyOTP")
Future<AuthResponse> verifyOTP(@Body() Map<String, dynamic> body);
// AI Model
@POST("api/ModelAI/AI_Model")
Future<AiModelResponse> getAIModel(@Part() FormData formData);
// Doctor Services
@GET("api/Doctor/GetAllDoctors")
Future<DoctorsResponse> getAllDoctors();
// User Management
@GET("api/Auth/GetDataUser")
Future<UserDataResponseModel> getUserData(@Header("Authorization") String token);
}dependencies:
flutter: ^3.0.0
# State Management
flutter_bloc: ^8.1.3
# Navigation
go_router: ^12.1.1
# Networking
dio: ^5.3.2
retrofit: ^4.0.3
# Image Handling
image_picker: ^1.0.4
image_cropper: ^5.0.1
# Permissions
permission_handler: ^11.0.1
# Location
geolocator: ^9.0.2
# UI & Responsiveness
flutter_screenutil: ^5.9.0
flutter_svg: ^2.0.7
# Utilities
fluttertoast: ^8.2.2
shared_preferences: ^2.2.0
dev_dependencies:
flutter_test: ^3.0.0
build_runner: ^2.4.6
retrofit_generator: ^8.0.4
json_annotation: ^4.8.1
json_serializable: ^6.7.1Click to expand detailed features
- Multi-Disease Detection: COVID-19, Pneumonia, Normal lung classification
- High Accuracy Model: Custom-trained AI with medical imaging datasets
- Real-time Processing: Analysis completed in seconds
- Quality Validation: Automatic image quality assessment
// Example AI Model Integration
Future<AiModelResponse> analyzeXRay(File imageFile) async {
final formData = FormData.fromMap({
'image': await MultipartFile.fromFile(imageFile.path),
});
return await apiService.getAIModel(formData);
}- COVID-19: Detection of COVID-related lung patterns
- Pneumonia: Identification of pneumonia indicators
- Normal: Healthy lung classification
- Quality Check: Image clarity and positioning validation
Click to expand location features
- GPS Integration: Automatic location detection
- Permission Handling: Smart permission request flows
- Offline Support: Cached location data
- Privacy Protection: Location data handled securely
- Proximity Search: Find doctors within specified radius
- Filter Options: Specialty, rating, availability
- Detailed Profiles: Reviews, contact info, expertise
- Direct Communication: Call, message, or book appointments
Click to expand security features
- Email/Password: Standard login with validation
- OTP Verification: SMS/Email two-factor authentication
- Biometric Login: Fingerprint/Face ID support (planned)
- Social Login: Google/Facebook integration (planned)
- JWT Tokens: Secure session management
- Encrypted Storage: Local data encryption
- API Security: HTTPS with certificate pinning
- Privacy Controls: Granular data permissions
| Security Layer | Implementation | Description |
|---|---|---|
| ๐ Network | HTTPS + Certificate Pinning | All API calls encrypted in transit |
| ๐ Authentication | JWT + Refresh Tokens | Secure session management |
| ๐พ Storage | AES Encryption | Local data encrypted at rest |
| ๐ Permissions | Runtime Requests | Granular permission controls |
| ๐ก๏ธ Privacy | Data Minimization | Only necessary data collected |
- GDPR Ready: European data protection compliance
- HIPAA Considerations: Healthcare data handling best practices
- User Control: Complete data management options
- Transparency: Clear privacy policy and data usage
| Optimization | Benefit | Implementation |
|---|---|---|
| ๐ Lazy Loading | Faster startup | Widget lazy initialization |
| ๐พ Smart Caching | Reduced API calls | Intelligent data caching |
| ๐ผ๏ธ Image Optimization | Faster loading | Automatic image compression |
| ๐ฑ Memory Management | Smooth performance | Efficient resource usage |
- ๐ App Launch: < 3 seconds cold start
- โก Navigation: Instant page transitions
- ๐ API Response: < 2 seconds average
- ๐พ Memory Usage: Optimized for low-end devices
We welcome contributions from the community! Here's how you can help:
- ๐ด Fork the Repository
git fork https://github.com/omarAbdullahMoharam/lungora.git- ๐ฟ Create Feature Branch
git checkout -b feature/amazing-new-feature- ๐พ Commit Changes
git commit -m "Add amazing new feature"- ๐ค Push to Branch
git push origin feature/amazing-new-feature- ๐ Open Pull Request
- ๐ Style Guide: Follow official Dart/Flutter style guide
- ๐๏ธ Architecture: Use BLoC pattern for state management
- ๐งช Testing: Write unit and widget tests
- ๐ Documentation: Update docs for new features
- โ Automated Tests: All tests must pass
- ๐ฅ Peer Review: Minimum 2 reviewer approvals
- ๐ Performance: No performance regressions
- ๐ฑ Platform Testing: Test on both Android and iOS
Use our issue template and include:
- ๐ฑ Device Information
- ๐ Steps to Reproduce
- ๐ Expected vs Actual Behavior
- ๐ธ Screenshots/Logs
This project is licensed under the MIT License - see the LICENSE file for details.
- โ Commercial Use: Allowed
- โ Modification: Allowed
- โ Distribution: Allowed
- โ Private Use: Allowed
- โ Liability: Not provided
- โ Warranty: Not provided
| Role | Responsibility | Skills |
|---|---|---|
| ๐จ Mobile Lead | Flutter/Dart Development | UI/UX, State Management |
| ๐ Web Frontend Engineer | Web App Interface (Admin Dashboard) | React, HTML/CSS, JavaScript |
| ๐ง Backend Engineer | API & Database | REST APIs, Security |
| ๐ค AI Engineer | ML Model Development | TensorFlow, Medical Imaging |
| ๐ญ UI/UX Designer | User Experience | Design Systems, Prototyping |
| ๐ Security Expert | Data Protection | Encryption, Compliance |
- Medical Consultants for domain expertise
- Flutter Community for packages and support
- Open Source Contributors for making this possible
- ๐ค Core AI Model - Basic disease detection functionality
- ๐ Authentication System - Secure login/register with OTP
- ๐ฑ Mobile App - Flutter cross-platform application
- ๐จโโ๏ธ Doctor Discovery - Location-based doctor search
- ๐ผ๏ธ Image Processing - X-ray upload, validation, and cropping
- ๐งช Beta Testing - Internal testing and bug fixes
- ๐ Scan History Management - Complete history tracking system
- View all previous X-ray scans and results
- Search and filter scan history by date/type
- Compare multiple scans over time
- Export individual or batch reports
- ๐ Smart Notification System - Comprehensive notification features
- Health reminders and follow-up notifications
- Scan result alerts and recommendations
- Appointment reminders with doctors
- Customizable notification preferences
- ๐ Progress Tracking - Health monitoring dashboard
- Visual charts showing health progress
- Trend analysis of scan results
- Health improvement recommendations
- ๐ App Store Release - Google Play & App Store deployment
- ๐ฏ Enhanced AI Accuracy - Improved model with larger medical dataset
- ๐ฑ Progressive Web App - Web version for broader accessibility
- ๐ Multi-Language Support - 5+ language translations
- ๐ Analytics Dashboard - Detailed health insights and metrics
- ๐ฑ Telemedicine Integration - Video consultations with doctors
- โ Wearable Integration - Apple Watch/WearOS support
- ๐ Medication Tracking - Prescription and treatment management
- ๐ค Social Features - Community health discussions and support
- ๐ฅฝ AR Visualization - 3D X-ray analysis with Augmented Reality
- ๐งฌ Genetic Integration - Personalized risk assessment based on genetics
- ๐ Global Health Network - International doctor and hospital network
- ๐ค Advanced AI - Multi-modal medical analysis (X-ray + symptoms + history)
| Channel | Purpose | Response Time |
|---|---|---|
| ๐ฌ WhatsApp Group | Join Community Chat | Real-time |
| ๐ฎ Discord Server | Join Discord | Real-time |
| ๐ GitHub Issues | Bug reports & feature requests | 24-48 hours |
| ๐ง Direct Contact | Technical discussions | Via Discord/WhatsApp |
- ๐ค Be Respectful: Treat all members with kindness
- ๐ฏ Stay On Topic: Keep discussions relevant to Lungora
- ๐ Report Bugs: Use GitHub issues for bug reports
- ๐ก Share Ideas: Feature suggestions are welcome
- ๐ซ No Spam: Keep promotional content to minimum
- ๐ GitHub Repository: omarAbdullahMoharam/lungora
- ๐ Project Board: GitHub Projects
- ๐ Issue Tracker: GitHub Issues
- ๐ Documentation: GitHub Wiki
If Lungora helped you or you find it interesting, please give it a star!
๐จ Currently in Beta Testing Phase
๐ฑ Public Release Coming Soon
๐ Together, we're building the future of digital healthcare ๐ฅ
