What is FlutterBoilerplate
FlutterBoilerplate is a production grade, scalable, highly modular boilerplate/starting template for Flutter to help you build quality apps. It is designed to be a complete starting point for Flutter projects. It is a collection of best practices, tools, and utilities that help you build Flutter apps faster and more efficiently.
Features
- Authentication: Login with Email, Google, Apple, etc. With support for social login, email verification, and forgot password flow out-of-the-box.
- User Management: Automatically add users to your mailing list upon sign up. Capture user device and network information during registration. Save firebase messaging tokens to send targeted push notifications.
- User Experience: Guide new users with a smooth onboarding experience on their first app launch. Allow users to view and update their profile easily.
- Monetization: Manage in-app subscriptions seamlessly with RevenueCat. Integrate banner, interstitial, rewarded, and rewarded interstitial ads for revenue generation with Admob.
- Media & Storage: Select images from the gallery or camera. Upload images directly to Firebase storage.
- Notifications: Send push notifications to users with Firebase Cloud Messaging. Notify users within the app without interrupting their experience with in-app notifications.
- Data management: Store user data in Firestore. Example create/read/update/delete operations are provided.
- Settings: Allow users to change app settings like theme, language, etc. Save user preferences in local DB.
- Automation Tools: Automate the process of generating app icons, splash screens, and change app package name automatically. Git hooks to enforce code quality.
- Reliability and Insights: Monitor app errors with Firebase Crashlytics. Track user interactions with Firebase Analytics.
- Localization: Support multiple languages in your app. Change app language on the fly.
- Modular: The project is divided into multiple modules to keep the codebase clean and maintainable.
- Scalable: The project is designed to scale with your app. It is easy to add new features and modules.
- And much more!: A plethora of features to help you build a quality app faster. Like easy connectivity checker widget and listener, force upgrade, etc.