A comprehensive Flutter app template for Monster Spawned Studios with CI/CD, localization, security, and best practices.
- π Multi-language Support: English, Spanish, French, German
- π¨ Theme Support: Light, Dark, and System themes
- π Biometric Authentication: Secure fingerprint/face unlock
- π Local Notifications: Push notification system
- π‘οΈ Security Features: PIN lock and secure storage
- β¨ Smooth Animations: Beautiful UI transitions
- π CI/CD Ready: GitHub Actions for iOS/Android builds
- π Code Quality: Pre-commit hooks and linting
- π Security Scanning: Git secrets detection
- π Copyright Headers: Automatic copyright insertion
-
Clone the template:
git clone <repository-url> cd flutter-template
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
- Flutter SDK 3.24.0 or higher
- Dart SDK 3.9.2 or higher
- Android Studio / VS Code
- Xcode (for iOS development)
- Git
- Install Android Studio
- Set up Android SDK
- Create virtual device or connect physical device
- Run
flutter doctorto verify setup
- Install Xcode from App Store
- Install Xcode command line tools:
xcode-select --install - Install CocoaPods:
sudo gem install cocoapods - Run
flutter doctorto verify setup
- Install Chrome browser
- Enable web support:
flutter config --enable-web - Run
flutter doctorto verify setup
- Enable desktop support:
flutter config --enable-windows-desktop(or macos/linux) - Install platform-specific dependencies
- Run
flutter doctorto verify setup
The template includes several tools to maintain code quality:
- Dart Format: Automatic code formatting
- Flutter Analyze: Static analysis and linting
- Git Secrets: Security scanning for sensitive data
- Copyright Headers: Automatic copyright insertion
Install lefthook to enable pre-commit hooks:
# Install lefthook
dart pub global activate lefthook
# Install git hooks
lefthook install- Add translation file to
assets/translations/ - Update
main.dartsupported locales - Add language option to
LocaleProvider
Example:
// assets/translations/it.json
{
"app_title": "Modello Flutter",
"welcome": "Benvenuto nel Modello Flutter"
}Modify lib/providers/theme_provider.dart to customize:
- Color schemes
- Typography
- Component themes
- Dark/light mode differences
The template includes a GitHub Actions workflow for building iOS IPAs:
File: .github/workflows/build-ipa.yml
Triggers:
- Version tags (e.g.,
v1.0.0) - Manual dispatch
Requirements:
- Apple Developer Account
- iOS Distribution Certificate
- Provisioning Profile
Setup:
- Export your certificate as
.p12file - Export your provisioning profile as
.mobileprovisionfile - Add GitHub secrets:
CERTIFICATE_BASE64: Base64 encoded certificateCERTIFICATE_PASSWORD: Certificate passwordPROVISIONING_PROFILE_BASE64: Base64 encoded provisioning profile
File: .github/workflows/build-android.yml
Triggers:
- Version tags (e.g.,
v1.0.0) - Manual dispatch
Outputs:
- Release APK
- Android App Bundle (AAB)
The template includes git-secrets for scanning commits:
# Install git-secrets
git secrets --install
# Add patterns
git secrets --add 'AKIA[0-9A-Z]{16}'
git secrets --add 'sk_live_[0-9a-zA-Z]{24}'Automatic copyright header insertion:
# Run manually
dart tools/add_copyright.dart
# Or via pre-commit hook (automatic)lib/
βββ main.dart # App entry point
βββ providers/ # State management
β βββ theme_provider.dart
β βββ locale_provider.dart
β βββ auth_provider.dart
β βββ notification_provider.dart
βββ screens/ # UI screens
β βββ splash_screen.dart
β βββ home_screen.dart
β βββ settings_screen.dart
β βββ about_screen.dart
β βββ lock_screen.dart
βββ widgets/ # Reusable widgets
β βββ animated_card.dart
β βββ language_selector.dart
β βββ theme_selector.dart
βββ services/ # Business logic
βββ (to be implemented)
assets/
βββ translations/ # Localization files
β βββ en.json
β βββ es.json
β βββ fr.json
β βββ de.json
βββ images/ # App assets
βββ (to be added)
tools/
βββ add_copyright.dart # Copyright header script
.github/
βββ workflows/ # CI/CD workflows
βββ build-ipa.yml
βββ build-android.yml
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the Monster Spawned Studios License - see the LICENSE.md file for details.
For support and questions:
- Website: https://monsterspawned.studio/
- Issues: GitHub Issues
- Flutter team for the amazing framework
- Provider package for state management
- Easy Localization for i18n support
- Flutter Animate for smooth animations
- All contributors and the open-source community