Skip to content

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.