A multi-language, themed QR code reader application with advanced features. Built with Flutter.
- π± QR Code Scanning: Fast and accurate QR code reading
- π¨ QR Code Generation: Generate QR codes for text, URLs, Wi-Fi info
- π Multi-language Support: Turkish and English language support
- π Theme Support: Light and dark theme options
- π History: View history of scanned QR codes
- π€ Sharing: Easy sharing of QR code results
- π URL Opening: Direct opening of web links
- π° AdMob Integration: Advertisement display
- Flutter: ^3.8.1
- Dart: ^3.8.1
- mobile_scanner: QR code scanning
- qr_flutter: QR code generation
- provider: State management
- easy_localization: Multi-language support
- hive: Local data storage
- google_mobile_ads: Ad integration
- Flutter SDK (3.8.1 or higher)
- Dart SDK (3.8.1 or higher)
- Android Studio / VS Code
- Android SDK (minimum API 23)
git clone https://github.com/sw3do/qr_code_reader.git
cd qr_code_reader
flutter pub get
- Copy
android/key.properties.example
toandroid/key.properties
- Fill in your keystore information:
storePassword=your_keystore_password
keyPassword=your_key_password
keyAlias=your_key_alias
storeFile=your_keystore_file.jks
- In
android/app/src/main/AndroidManifest.xml
:
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR_ADMOB_APPLICATION_ID"/>
- In
lib/main.dart
- AdMob initialization (already configured):
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
// AdMob initialization
await MobileAds.instance.initialize();
// ... rest of the code
}
- In
lib/screens/home_screen.dart
- Replace banner ad unit ID:
void _loadBannerAd() {
_bannerAd = BannerAd(
adUnitId: 'YOUR_BANNER_AD_UNIT_ID', // Replace with your banner ad unit ID
request: const AdRequest(),
size: AdSize.banner,
// ... rest of the configuration
);
}
- In
lib/screens/scan_screen.dart
- Replace interstitial ad unit ID:
void _loadInterstitialAd() {
InterstitialAd.load(
adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID', // Replace with your interstitial ad unit ID
request: const AdRequest(),
// ... rest of the configuration
);
}
flutter run
flutter run
flutter build apk --release
flutter build appbundle --release
- β Android (API 23+)
- β iOS (Not yet supported)
- β Web (Not yet supported)
- β Desktop (Not yet supported)
lib/
βββ core/
β βββ localization/ # Language files
β βββ theme/ # Theme configuration
βββ models/ # Data models
βββ providers/ # State management
βββ screens/ # Application screens
βββ services/ # Service layer
βββ widgets/ # Reusable widgets
assets/
βββ images/ # Images
βββ lang/ # Translation files
- Create a Google AdMob account
- Get your Application ID
- Add to
AndroidManifest.xml
- Replace ad unit IDs in Dart files
Language files are located in the assets/lang/
folder:
en-US.json
: Englishtr-TR.json
: Turkish
- Fork the project
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
Your Name
- GitHub: @sw3do
- Email: sw3doo@gmail.com
If you find a bug, please report it via GitHub Issues.
- v1.0.0 - Initial release
- QR code scanning and generation
- Multi-language support
- Theme support
- History feature
β If you like the project, don't forget to give it a star!