# nisrulz/flutter-examples: A Collection of Standalone Flutter Apps for Learning by Running

> nisrulz/flutter-examples is a GitHub repository of over 50 standalone Flutter application examples, each runnable as-is with flutter run. The collection covers a wide range of Flutter concepts and integrations, organized so that any single example can be cloned and run without understanding the rest of the repository.

**nisrulz/flutter-examples** — [Examples] Simple basic isolated apps, for budding flutter devs.

- Repository: https://github.com/nisrulz/flutter-examples
- Website: https://nisrulz.com/flutter-examples/
- Stars: 7,152 · Forks: 1,637
- Language: Dart
- License: Apache-2.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/nisrulz-flutter-examples

## What flutter-examples Teaches and Who It Serves

Flutter is Google's cross-platform UI framework for building native applications from a single codebase. Learning it requires exposure to patterns that are specific to Flutter's widget model, state management, and platform integration points. Documentation explains these patterns, but running code shows how they behave.

nisrulz/flutter-examples provides that running code. It is a collection of small, purpose-built Flutter applications, each demonstrating a specific concept or integration. The README describes each folder as a standalone app you can run as-is. The scope ranges from fundamental patterns (stateless widgets, stateful widgets, navigation) to specific integrations (Firebase Realtime Database, Google Sign-In, Firebase Crash Reporting, QR code scanning, push notifications, biometrics).

The target user is a developer who is new to Flutter and wants to see a working implementation of a specific concept before building their own. The repository has been listed in Official Flutter Samples on GitHub, Flutter Weekly issue 11, and the Awesome Flutter list, giving it visibility within the Flutter learning community.

The examples are intentionally isolated from each other. There is no shared state or framework across them. This makes each one easy to understand in isolation but means there is no overarching application architecture to study.

## Getting Started: Cloning, Installing, and Running an Example

The README's getting started section shows the standard workflow:

```bash
git clone https://github.com/nisrulz/flutter-examples.git
cd flutter-examples
make packages
```

The make packages command runs flutter packages get across all example apps in the repository at once. After that, navigate to any example folder and run it:

```bash
cd animation_example
flutter run
```

Each example is a complete Flutter project with its own pubspec.yaml. The README notes that new Flutter developers should see the documentation/GETTING_STARTED.md file for full setup instructions, including Flutter SDK installation and device configuration.

The README also mentions a way to download and run a single example without cloning the full repository, documented in documentation/GETTING_STARTED.md. This is useful if you only want to run one or two examples without the overhead of the entire collection.

## How Each Example App Is Structured

The README documents a consistent internal structure across all examples. Each app is split into two key files within lib/. The file lib/main.dart sets up the MaterialApp wrapper: it handles the app-level scaffold, theme, and routing. The file lib/example.dart contains the code that demonstrates the concept the app is about.

The README explicitly tells learners to open lib/example.dart to see what the app teaches. This separation is intentional: it isolates the boilerplate from the demonstration code, so a reader who already understands MaterialApp can jump directly to the relevant implementation.

This consistent structure across all examples means once you understand the pattern in one, you know where to look in all of them. The wrapper-plus-example split is a useful convention for learning collections because it mirrors how real Flutter applications organize their screens: the scaffold is separate from the feature implementation.

The collection covers a wide range: animations, biometrics, BMI calculation, bottom sheets, COVID-19 mobile app patterns, custom drawer navigation, dropdown buttons, splash screens, expense planning, Firebase crash reporting, Firebase Google authentication, GetX counter, Google Sign-In, grid layouts, route handling, image editing, network images, infinite lists, local JSON loading, and many more, based on the directory listing in the repository.

## The Makefile: Batch Operations Across All Apps

The repository includes a Makefile that provides commands for operating on all examples simultaneously rather than one at a time. The available commands documented in the Makefile are:

```bash
make packages   # flutter packages get for all apps
make analyze    # flutter analyze for all apps
make test       # flutter test for all apps with tests
make doctor     # check every app for configuration drift
make clean-builds  # move all build folders to trash
make docs       # regenerate documentation/EXAMPLES.md
```

The make gradle-update command handles upgrading Gradle wrappers across all apps, with a VERSION argument for targeting a specific Gradle version and a FORCE=1 flag to upgrade even when already on the target version.

This Makefile is the repository's infrastructure layer. It acknowledges that maintaining over 50 separate Flutter projects is an operational problem: pubspec versions drift, Gradle versions need updating, and a new Flutter release may break analysis checks across multiple apps at once. The make doctor command specifically targets this by checking every app for configuration drift, which is a meaningful maintenance aid for a collection this size.

## Scope, Coverage Gaps, and What the Collection Does Not Address

The collection's strengths are breadth across core Flutter widget types, basic state management, Firebase integrations, and UI patterns. The breadth makes it a useful reference when you know what you need to see but are not sure how Flutter implements it.

The gaps are worth noting. The examples are built for learning, not for showing production-quality patterns. Error handling in most examples is minimal. State management is demonstrated through simple StatefulWidget and through a GetX counter example; more complex state management approaches like Riverpod, BLoC, or provider in non-trivial scenarios are not covered in depth.

Platform-specific code is present in some examples (biometrics, platform adaptive UI) but is not a major focus. The collection does not address Flutter Web or Flutter Desktop as distinct targets, though many Flutter apps run on those platforms with minimal changes.

The documentation/EXAMPLES.md file, regenerated by make docs, lists every example in the repository. Reviewing that file before cloning gives a complete picture of what is and is not covered before investing the time to clone and install all packages.

## flutter-examples vs the Official Flutter Samples Repository

The Official Flutter Samples repository (flutter/samples on GitHub) is maintained by the Flutter team at Google. It contains a curated set of apps that demonstrate Flutter best practices, including production patterns, complex state management, and integration with Flutter's platform channels. The examples are reviewed by Flutter team members and updated to track Flutter releases.

nisrulz/flutter-examples differs in origin and scope. It is an individual developer's collection rather than an official resource. The advantage is breadth: it covers more specific integration scenarios (Firebase crash reporting, QR scanning, GetX) than the official samples. The trade-off is that it is less rigorously maintained against Flutter version changes, since there is no team backing it.

For a developer just starting with Flutter, both repositories are worth bookmarking. The official samples are the right reference for architecture patterns and platform integration depth. nisrulz/flutter-examples is more useful when you want to quickly see a working example of a specific feature without reading through a larger application.

## Maintenance Status and Apache-2.0 License

The last push to the repository was on 2026-08-17. The project is not archived and continues to receive updates. The Makefile's make gradle-update command and the make doctor diagnostic suggest ongoing maintenance effort across the growing number of examples.

The repository is licensed under Apache-2.0. This is a permissive license that allows use in commercial projects. The two main conditions are retaining the license notice and providing attribution when distributing derivative works.

For the practical purpose of studying code from the examples and applying the patterns in your own project, the Apache-2.0 terms are permissive. If you intend to publish a derived app that is substantially based on one of the examples, confirming your compliance with attribution requirements is the correct first step.

## Conclusion

nisrulz/flutter-examples is a practical starting point for Flutter developers who learn best by running code and reading implementations. It is not suitable as a base for production apps: the examples are intentionally minimal and isolated. Before cloning, check the documentation/GETTING_STARTED.md for full setup instructions and confirm that your Flutter SDK version is compatible with the pubspec.yaml files in the examples you want to run; there is no uniform SDK constraint across all examples.

## FAQ

### How do I run a single example from nisrulz/flutter-examples?

Clone the repository, run make packages in the root to install dependencies for all apps, then navigate into the specific example folder and run flutter run. Each folder is a standalone Flutter project with its own pubspec.yaml. The documentation/GETTING_STARTED.md file documents how to download and run a single example without cloning the entire repository.

### What files should I read in each flutter-examples app?

The README says to open lib/example.dart in each app folder to see the demonstration code. The lib/main.dart file is the MaterialApp boilerplate wrapper. The concept being taught is isolated in lib/example.dart.

### How is the nisrulz/flutter-examples repository maintained across all its apps?

The repository uses a Makefile with commands like make packages (install dependencies for all apps), make analyze (run flutter analyze on all apps), make doctor (check for configuration drift), and make gradle-update (update Gradle wrappers). The documentation/EXAMPLES.md file is generated by make docs from the folder structure.

## Sources

- [Issues](https://github.com/nisrulz/flutter-examples/issues)
- [License: Apache-2.0](https://github.com/nisrulz/flutter-examples/blob/develop/LICENSE)
- [nisrulz/flutter-examples on GitHub](https://github.com/nisrulz/flutter-examples)
- [Project website](https://nisrulz.com/flutter-examples/)
- [README](https://github.com/nisrulz/flutter-examples/blob/develop/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/nisrulz-flutter-examples
