https://github.com/victor-zarzar/flutter_boilerplate
A basic multi-platform flutter boilerplate for mobile and web, built with MVVM, i18n, Dark Mode, GoRouter, Notifications, Provider, Responsive, Sentry, Google fonts, Material Design 3.
https://github.com/victor-zarzar/flutter_boilerplate
android android-studio boilerplate dart flutter material-design mvvm xcode
Last synced: about 2 months ago
JSON representation
A basic multi-platform flutter boilerplate for mobile and web, built with MVVM, i18n, Dark Mode, GoRouter, Notifications, Provider, Responsive, Sentry, Google fonts, Material Design 3.
- Host: GitHub
- URL: https://github.com/victor-zarzar/flutter_boilerplate
- Owner: Victor-Zarzar
- License: mit
- Created: 2026-04-11T00:10:42.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-01T10:36:10.000Z (about 2 months ago)
- Last Synced: 2026-05-01T12:11:56.736Z (about 2 months ago)
- Topics: android, android-studio, boilerplate, dart, flutter, material-design, mvvm, xcode
- Language: Dart
- Homepage:
- Size: 318 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
flutter_boilerplate - Flutter Multi-Platform Boilerplate
A basic multi-platform Flutter boilerplate for mobile and web. Built with MVVM architecture, featuring i18n, Dark Mode, GoRouter, Notifications, Provider, Responsive layout, Sentry, Google Fonts, and Material Design 3.
---
Tech Stack
### Core Technologies
- **Dart** - Programming language
- **Flutter** - Cross-platform UI framework
- **Material Design 3** - Modern design system
- **MVVM** - Architecture pattern (Model - View - ViewModel)
- **Provider** - State management solution
### Features & Integrations
- **Multi-Platform Support** - Android, iOS, Web
- **Google Fonts** - Beautiful typography
- **i18n** - Multi-language support (EN / PT-BR / ES)
- **Dark Mode Provider** - Theme switching
- **GoRouter** - Declarative routing with adaptive navigation (mobile/web)
- **Flutter Local Notifications** - Push notifications
- **Responsive Layout** - Adaptive UI for mobile and web
- **Sentry Logs** - Error tracking and monitoring
- **Skeleton** - Skeleton Wrapper Widget Animation
---
Prerequisites
Before starting, ensure you have the following installed:
- [FVM (Flutter Version Management)](https://fvm.app/documentation/getting-started/installation) - Required for managing Flutter versions
- [Git](https://git-scm.com/)
- [Xcode](https://developer.apple.com/xcode/) (for iOS development on macOS)
- [Android Studio](https://developer.android.com/studio) (for Android development)
> **Note**: This project uses FVM for Flutter version management. You don't need to install Flutter globally.
> Optional: [VS Code](https://code.visualstudio.com/) or [Android Studio](https://developer.android.com/studio) with Flutter plugins for IDE support.
---
Installation & Setup
### 1. Clone the Repository (Template)
```bash
git clone https://github.com/Victor-Zarzar/flutter_boilerplate.git my_app
cd my_app
flutter pub get
```
### 2. Open in your editor (example: Zed Editor)
```bash
zed .
```
### 3. Install Dependencies
```bash
flutter pub get
```
---
Usage
### Local Development
#### Mobile (iOS Simulator)
```bash
make run-ios
```
### Inspect Devtools
```bash
dart devtools
```
#### Web (Google Chrome)
```bash
make run-chrome
```
#### Or Web Server default
```bash
make run-web-server
```
Access the application at `http://localhost:xxxx`
---
Development
### Code Analysis
Check for code issues:
```bash
flutter analyze
```
### Testing
Run all tests:
```bash
flutter test
```
### Format Code
Format all files:
```bash
dart format .
```
---
Deployment
### Android (Google Play Store)
Build release APK:
```bash
flutter build apk --release
```
Build release AppBundle:
```bash
flutter build appbundle --release
```
The generated files will be at:
- APK: `build/app/outputs/flutter-apk/app-release.apk`
- AppBundle: `build/app/outputs/bundle/release/app-release.aab`
### iOS (App Store)
```bash
flutter build ios --release
```
The generated files will be at:
- IPA: `build/ios/ipa/`
### Web
```bash
flutter build web --release
```
The generated files will be at: `build/web/`
### With Sentry Monitoring
For all platforms, pass your DSN as an environment variable:
```bash
SENTRY_DSN=your-dsn-here flutter build apk --release
SENTRY_DSN=your-dsn-here flutter build ios --release
SENTRY_DSN=your-dsn-here flutter build web --release
```
### Sentry Configuration
All production builds include:
- **Error tracking** with Sentry DSN
- **Code obfuscation** for security
- **Debug symbols** upload for crash symbolication
Make sure to:
1. Set your `SENTRY_DSN` from your Sentry project
2. Upload debug symbols to Sentry after each release for proper stack traces
3. Keep `build/debug-info/` directory for symbolication
---
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
---
License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
Contact
Victor Zarzar - [@Victor-Zarzar](https://github.com/Victor-Zarzar)
Project Link: [https://github.com/Victor-Zarzar/flutter_boilerplate](https://github.com/Victor-Zarzar/flutter_boilerplate)
---