A comprehensive, state-of-the-art Flutter mobile application and AI-backend ecosystem designed to bridge the gap between school administration, canteens, and parents. The system offers parent control over child nutrition, health parameters, school payments, real-time location tracking, and instant school-parent communication.
- Allergy Management: Keep track of child allergies (
Peanuts,Tree Nuts,Milk,Eggs,Wheat,Soy,Fish,Shellfish, etc.). - Daily Spending Limits: Parents can define and update limits on school canteen purchases.
- AI Meal Recommendation: Custom meal guides powered by Gemini 2.0 Flash tailored to the child's age, weight, height, blood type, and allergy constraints.
- TFLite Food Checker: On-device TensorFlow Lite model (
food_choice_model.tflite) for instant local analysis of foods. - Deep Learning Food Analysis: Python-based FastAPI service leveraging a MobileNetV2 deep learning model for real-time classification, allergen detection, and calorie reporting.
- AI School Assistant: A smart chatbot powered by Gemini 1.5 Flash to answer parent inquiries, provide guidance on child health, and retrieve school details.
- Local Chat History: Persistent messaging history using
SharedPreferences. - Typing Animation & Rich Media: Streamed typewriter visual feedback with support for image/file attachment contexts.
- Stripe Integration: Secure in-app credit/debit card transactions using
flutter_stripe. - Transaction Ledger: Real-time statements for children's canteen purchases and parent top-ups.
- Live Tracking: Integrated Google Maps for school bus routing and geolocator services.
- Attendance Ledger: Calendar metrics showing student check-ins and check-outs.
- Firebase Cloud Messaging (FCM): Remote push alerts for canteen confirmations and announcements.
- Local Notifications: Scheduled and high-priority alarms fallback.
- Multi-language Support: Complete translation engine (Arabic π¦πͺ, English π¬π§, Spanish πͺπΈ, French π«π·) with RTL layout handling.
- Rich Aesthetics: Beautiful responsive dashboards with light/dark theme toggles, fluid custom animations, and a modern error overlay layout.
| Technology / Package | Purpose |
|---|---|
Flutter SDK (^3.5.3) |
Main cross-platform mobile framework |
| Flutter BLoC & Equatable | Clean State Management & predictable state flow |
| Firebase Services | Auth, Firestore Database, and Cloud Messaging (FCM) |
| Dio & Http | REST API networking client with interceptors |
| Stripe SDK | Processing school canteen top-ups and fees |
| Easy Localization | Localizing resources dynamically across 4 languages |
| Google Maps Flutter | Real-time map overlays for school tracking |
| Gemini 1.5 & 2.0 Flash | AI Generative APIs for custom diet guidelines & chatbot services |
| Flutter Animate & Animate Do | Premium visual micro-animations and physics-based transitions |
| SharedPreferences | Local persistence of app configs and chat histories |
| Technology / Package | Purpose |
|---|---|
| FastAPI | High-performance API routing and async request handling |
| Uvicorn | ASGI server run environment |
| TensorFlow & Keras | MobileNetV2 transfer learning model pipeline for food identification |
| NumPy & Pillow | Array manipulations and image preprocessing |
| Pydantic | Payload schemas validation and type checks |
smartsystemforschools/
β
βββ android/ & ios/ # Native Platform Configurations
βββ assets/ # App Assets
β βββ fonts/ # Typography (Poppins, Cairo, Inspiration)
β βββ images/ # Icons, logo, and artwork
β βββ translations/ # Localization dictionaries (ar, en, es, fr)
β βββ food_choice_model.tflite # On-device ML model file
β
βββ lib/ # Flutter App Source Code
β βββ core/ # Shared utilities, widgets, services & themes
β β βββ connectivity_cubit/ # Global network status tracker
β β βββ services/ # Stripe, Firebase, and Auth integrations
β β βββ themes/ # Light & Dark Theme specs
β β
β βββββββ features
β β βββ Allergies
β β β βββ data
β β β β βββ food_ai_service.dart
β β β β βββ manager
β β β β βββ ...
β β β βββ presentation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ Attendance
β β β βββ attendance_ai_service.dart
β β β βββ data
β β β β βββ manager
β β β β βββ ...
β β β βββ presentation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ chatbot
β β β βββ data
β β β β βββ cubit
β β β β β βββ ...
β β β β βββ model
β β β β β βββ ...
β β β β βββ services
β β β β βββ ...
β β β βββ presentation
β β β βββ chat_bot_screen.dart
β β β βββ chat_history_screen.dart
β β βββ child_details_view
β β β βββ manager
β β β β βββ checkout_payment_cubit
β β β β β βββ ...
β β β β βββ models
β β β β β βββ ...
β β β β βββ spending_limit_cubit.dart
β β β β βββ ...
β β β βββ views
β β β β βββ child_details_view.dart
β β β β βββ choose_balance_for_child.dart
β β β β βββ spending_limits_view.dart
β β β βββ widgets
β β β βββ CardDetailsChildWidget.dart
β β β βββ CustomCardForSpendingAndRecharge.dart
β β β βββ CustomSpendingDailyLimitWidget.dart
β β β βββ buildAllegryChip.dart
β β β βββ custom_allgeries_widget.dart
β β β βββ custom_balance_widget.dart
β β β βββ custom_button.dart
β β β βββ custom_card_spending_limits.dart
β β β βββ custom_card_spending_limits_new.dart
β β β βββ restricted_products_widget.dart
β β βββ family
β β β βββ data
β β β β βββ manager
β β β β βββ ...
β β β βββ presentation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ food_ai_view
β β β βββ data
β β β β βββ api_handler.dart
β β β β βββ cubit
β β β β β βββ ...
β β β β βββ models
β β β β βββ ...
β β β βββ screens
β β β β βββ food_ai_screen.dart
β β β β βββ recommdation_screen.dart
β β β βββ widgets
β β β βββ loading_indicator_widget.dart
β β βββ home
β β β βββ data
β β β β βββ models
β β β β βββ ...
β β β βββ presentation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ login
β β β βββ data
β β β β βββ models
β β β β βββ ...
β β β βββ presenation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ main_screen
β β β βββ presentation
β β β βββ views
β β β βββ ...
β β βββ notification_view
β β β βββ data
β β β β βββ cubit
β β β β β βββ ...
β β β β βββ models
β β β β βββ ...
β β β βββ presenation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ onBoarding
β β β βββ views
β β β β βββ pageview.dart
β β β βββ widgets
β β β βββ custom_button.dart
β β β βββ custom_page_screen.dart
β β β βββ dot_indicator.dart
β β β βββ dots_indicator.dart
β β βββ payment
β β β βββ data
β β β β βββ models
β β β β βββ ...
β β β βββ presentation
β β β βββ manager
β β β β βββ ...
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ payment_parent
β β β βββ data
β β β β βββ cubit
β β β β β βββ ...
β β β β βββ models
β β β β β βββ ...
β β β β βββ services
β β β β βββ ...
β β β βββ presentation
β β β βββ screens
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ schools
β β β βββ presentation
β β β βββ views
β β β βββ ...
β β βββ settings
β β β βββ data
β β β β βββ manager
β β β β βββ ...
β β β βββ presentation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ settings_view
β β β βββ data
β β β β βββ models
β β β β βββ ...
β β β βββ presentation
β β β βββ manager
β β β β βββ ...
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ splash
β β β βββ presenation
β β β βββ views
β β β β βββ ...
β β β βββ widgets
β β β βββ ...
β β βββ tracking
β β βββ data
β β β βββ models
β β β βββ ...
β β βββ presentation
β β βββ views
β β βββ ...
β βββ firebase_options.dart
β βββ generated
β β βββ codegen_loader.g.dart
β β βββ intl
β β β βββ messages_all.dart
β β β βββ messages_en.dart
β β βββ l10n.dart
β β βββ locale_keys.g.dart
β βββ l10n
β β βββ intl_en.arb
β βββ main.dart
β
βββ food_ai_service.py # FastAPI Web Application Entrypoint
βββ food_recognition_model.py # TensorFlow ML Model Engine
βββ requirements.txt # Python Backend Dependencies
- Install Flutter SDK: Make sure you have Flutter
>= 3.5.3installed. - Clone the Repository:
git clone https://github.com/OmarAliSiad/smartSystemForSchools.git cd smartSystemForSchools - Install Dependencies:
flutter pub get
- Configure API Keys: Add your configuration keys to
lib/core/utils/api_keys.dart. - Run the App:
flutter run
- Navigate to the root directory and create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install requirements:
pip install -r requirements.txt
- Run the service:
The server will spin up locally on
python food_ai_service.py
http://0.0.0.0:8000.
Thanks to everyone who has contributed to this project:
See the full list of contributors β
Contributions are welcome! Here's the standard flow:
- Fork the repository
- Clone your fork:
git clone https://github.com/OmarAliSiad/smartSystemForSchools.git - Branch:
git checkout -b feature/your-feature - Commit:
git commit -m 'feat: add some feature' - Push:
git push origin feature/your-feature - Open a pull request
Please follow the existing code style and include tests for new behavior where applicable.