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: Google & Apple Sign-In (Native + OAuth), provider linking/unlinking, session management
  • Profile Management: Update display name, link & unlink account, change profile avatar
  • Subscriptions: RevenueCat integration, paywall UI
  • Ads: Banner, interstitial, rewarded, rewarded interstitial ads
  • Local Notifications: Immediate & scheduled notifications, permission handling
  • File Uploads: Progress tracking, cancellable uploads, folder organization
  • Settings: Theme selection, color themes, language, haptic feedback
  • Onboarding: Customizable first-time user experience
  • Analytics: PostHog & Firebase Analytics integration, navigation observer
  • Crash Reporting: Sentry & Firebase Crashlytics integration, source map uploads
  • Localization: Multi-language support (EN, BN, DE, FR, AR, ES included as examples)
  • Notes (CRUD Example): Create, read, update, delete with real-time sync
  • Logger Service: Structured logging
  • Timezone Service: Timezone-aware scheduling
  • URL Launcher: Open URLs, emails, phone numbers
  • File & Image Picker: Pick files and images from device
  • Haptic Feedback: Configurable haptic feedback
  • Auto Update Checker: Automatic app version checking with update prompts
  • Force Update: Mandatory update enforcement for critical releases
  • OTA Code Push: Over-the-air updates via Shorebird
  • CI/CD: GitHub Actions workflows along with blacksmith for fast testing, building, and deployment
  • Strict Lint Rules: Opinionated lint rules for consistent code quality
  • Accessibility: Screen reader support, semantic labels, and a11y best practices
  • AI Editor Support: Rules, agents, and skills for AI-assisted development
  • 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