Features · Firebase setup · Installation
Smart Trade Manager is a Flutter mobile application for trade and logistics management, combining Firebase real-time synchronization with on-device Google ML Kit features.
The application provides modules for managing products, suppliers and shipments, while integrating OCR, QR/barcode scanning, language detection and translation between French, English and Arabic.
- User registration
- Login and logout
- Firebase Authentication
- Firebase Realtime Database
- Real-time data updates
- Offline database persistence
- Product tracking
- Supplier management
- Shipment tracking
- Product stock information
- Real-time synchronization with Firebase
- Capture images using the camera
- Select images from the gallery
- Extract text using Google ML Kit OCR
- Automatic language identification
- On-device translation
Supported languages:
- English
- French
- Arabic
- QR code detection
- Barcode detection
- Camera and gallery image processing
- Google ML Kit Barcode Scanning
- Multilingual interface (FR / EN / AR)
- Light and dark themes
- Local notifications
- Haptic feedback
- Persistent user preferences with SharedPreferences
| Category | Technologies |
|---|---|
| Framework | Flutter |
| Language | Dart |
| Authentication | Firebase Authentication |
| Database | Firebase Realtime Database |
| OCR | Google ML Kit Text Recognition |
| QR / Barcode | Google ML Kit Barcode Scanning |
| Language Detection | Google ML Kit Language Identification |
| Translation | Google ML Kit On-Device Translation |
| Local Storage | SharedPreferences |
| Device Integration | Image Picker, Local Notifications, Vibration |
| Platforms | Android, iOS |
The project follows a layered Flutter structure with UI screens, reusable widgets and dedicated service classes.
lib/
├── main.dart
│
├── screens/
│ ├── home/
│ ├── products/
│ ├── suppliers/
│ ├── shipments/
│ ├── scanner/
│ └── settings/
│
├── services/
│ ├── auth_service.dart
│ ├── firebase_database.dart
│ ├── ml_service.dart
│ ├── notification_service.dart
│ ├── settings_service.dart
│ └── translation_data.dart
│
├── utils/
│ └── app_theme.dart
│
└── widgets/
├── app_drawer.dart
├── custom_button.dart
└── dashboard_card.dart
External services and device integrations are isolated inside dedicated service classes:
AuthService
↓
Firebase Authentication
FirebaseDatabaseService
↓
Firebase Realtime Database
MLService
↓
Google ML Kit
SettingsService
↓
SharedPreferences
NotificationService
↓
Local Notifications
Smart Trade Manager integrates several on-device ML Kit capabilities.
Camera / Gallery
↓
Input Image
↓
ML Kit Text Recognition
↓
Extracted Text
Text recognition is used to extract text from documents and images.
Extracted text can be analyzed automatically to identify its language.
Extracted Text
↓
ML Kit Language Identification
↓
Detected Language
Detected text can be translated on-device between:
English ↔ French ↔ Arabic
using Google ML Kit On-Device Translation.
Camera / Gallery
↓
Input Image
↓
ML Kit Barcode Scanner
↓
QR / Barcode Data
The application uses:
Firebase Core
Firebase Authentication
Firebase Realtime Database
Realtime Database streams are used to update product, supplier and shipment information dynamically.
Offline persistence is also enabled so cached Firebase data can remain available when network connectivity is temporarily unavailable.
Real Firebase client configuration is intentionally excluded from this public repository.
The following files are not committed:
lib/firebase_options.dart
android/app/google-services.json
ios/Runner/GoogleService-Info.plist
A safe configuration example is available at:
lib/firebase_options.example.dart
The example file is provided for documentation only. It is not intended to replace the configuration generated by FlutterFire.
Create your own project using the Firebase Console.
dart pub global activate flutterfire_cliFrom the project root:
flutterfire configureThis generates the Firebase configuration required by the application.
Enable:
- Authentication
- Email / Password provider
- Realtime Database
Make sure your Firebase Realtime Database security rules are appropriate for your environment.
- Flutter SDK
- Dart SDK
- Android Studio or compatible IDE
- Android SDK
- Firebase project
git clone https://github.com/bassem2002/smart_trade_manager.git
cd smart_trade_managerflutter pub getflutterfire configureflutter runfirebase_core
firebase_auth
firebase_database
shared_preferences
google_mlkit_text_recognition
google_mlkit_barcode_scanning
google_mlkit_language_id
google_mlkit_translation
image_picker
flutter_local_notifications
vibrationThis project was developed as an academic mobile application and currently has several limitations:
- Product editing and deletion are not fully exposed in the UI
- Supplier update/delete operations are not implemented
- Shipment update/delete operations are not implemented
- No advanced inventory calculation system
- No role-based access control
- No search or filtering system
- No automated unit, widget or integration tests
- Some features rely on Android/iOS native capabilities and are not available on Flutter Web
Smart Trade Manager was developed as an academic project focused on combining:
- Mobile application development
- Firebase cloud services
- Real-time data synchronization
- Computer vision
- On-device machine learning
- Multilingual user interfaces
- Mobile device integrations
Bassem Wali
Software Engineering Student
Full-Stack Development & AI Integration
- GitHub: bassem2002
- LinkedIn: bassem-wali
Smart Trade Manager is maintained as part of my software engineering portfolio.



