Welcome to my Flutter Boilerplate – a feature-rich, reusable starting point for building professional-grade Flutter applications. This boilerplate is designed to save developers time by providing pre-built screens, essential features, reusable widgets, and configurations commonly required in modern mobile apps. Whether you're building a small prototype or a large-scale production app, this boilerplate has you covered.
- Screens
- Features
- Widgets
- Setup Instructions
- Usage Examples
- Contributing
- License
The boilerplate includes a variety of pre-designed screens to jumpstart your app development:
- Splash: A polished splash screen to greet users while the app initializes.
- Onboarding: A multi-step onboarding flow for first-time users.
- Login: A secure login screen with input validation.
- Signup: A user registration screen with necessary fields.
- Password Reset: A screen for resetting forgotten passwords.
- Home: The main landing screen after login.
- Dashboard: A customizable dashboard for key app data or metrics.
- Settings: A settings screen for app preferences.
- Profile Change: A screen to update user profile details.
- Password Change: A dedicated screen for updating passwords.
- Web View for Links: A web view screen to display external URLs within the app.
The boilerplate comes with a range of features to help you build a robust Flutter app:
- Supports both dark and light themes out of the box.
- Easily switch themes with a single configuration.
- Pre-configured network layer to handle API requests using Dio or http.
- Built-in support for API endpoints and web links.
- Centralized app configurations for easy customization (e.g., API base URL, app name).
- App constants and color constants for consistency.
- App routes pre-defined for seamless navigation.
- Pre-configured image routes, Lottie animations, and fonts.
- Centralized asset constants for easy access.
- Robust error handling and exception handling to manage crashes gracefully.
- Integrated state management (e.g., Provider, Riverpod, or Bloc – specify your choice).
- Ready for scalable app architecture.
- Pre-built local storage setup using packages like shared_preferences or hive.
- Auth token setup for secure API communication.
A collection of reusable, customizable widgets to speed up UI development:
- Buttons: Pre-styled buttons (e.g., primary, secondary, outlined).
- Text Fields: Custom text fields with validation and styling
- App Bars: Flexible app bars for consistent navigation.
- Footers: Reusable footer widgets for layouts.
- Dividers: Styled dividers for section separation.
- Bottom Sheets: Pre-built bottom sheets for dialogs or options.
- Toast & Popups: Snackbars and popups for user feedback.
- Web View Widgets: Embedded web views for displaying links.
-
Clone the Repository
git clone https://github.com/yourusername/flutter-boilerplate.git cd flutter-boilerplate
-
Install Dependencies
flutter pub get
-
Configure the App
- Update lib/config/app_config.dart with your API base URL and other settings.
- Add your assets (images, Lottie files, fonts) to the assets/ directory and update pubspec.yaml.
-
Run the App
flutter run
Contributions are welcome! Feel free to open an issue or submit a pull request with improvements or bug fixes.
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature).
- Commit your changes (git commit -m "Add your feature").
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
This project is licensed under the MIT License – see the LICENSE file for details.