Made with Flutter using Provider state management.
- lib/
- main.dart — app entry
- src/ — app modules (widgets, providers, models)
- test/ — unit tests
- assets/ — images and screenshots
- macOS (development machine)
- Flutter SDK installed (see
flutter --version) - For Android: Android Studio + AVD or a physical device
- For iOS: Xcode and a valid development setup
Run:
- flutter doctor
First, install flutter than run flutter doctor and fix possible errors.
To run the app simply run flutter run.
Before running the android emulator must be launched
Replace the placeholder AdMob IDs with your own from the AdMob console:
- Update
lib/utils/ad_helper.dart:- replace any placeholder ad unit IDs with your production ad unit IDs (banner, interstitial, rewarded, etc.).
- Update Android manifest
android/app/src/main/AndroidManifest.xml:- replace the placeholder Android app ID(s) with your AdMob Android App ID(s).
- Exact placeholders to replace (examples from this repo):
Notes:
- IOS not yet implemented.
- Use AdMob test IDs while developing and replace them with your real IDs only for release builds.
- Ad unit IDs typically look like ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN, app IDs like ca-app-pub-XXXXXXXXXXXXXXXX~NNNNNNNNNN.
- After replacing IDs, run a clean build (for example: flutter clean && flutter build apk or flutter build ios) and test in release/profile modes to verify ads load.
- Flutter Online Documentation
- Lab: Write your first Flutter app
- Flutter simple app state management
- Pragmatic State Management in Flutter
- WidgetView Pattern
- Unit Testing
- Integration Testing
- Bottom App Bar
- Slivers for fancy scrolling
- Prepare to release
- Floating App Bar with Slivers
No part of this project may be used, copied, modified, or distributed without prior written permission from the owner.



