google_sign_in
Flutter plugin for Google Sign-In, a secure authentication system for signing in with a Google account.
Invoice Ninja: Desktop/mobile admin portal built with Flutter
Flutter plugin for Google Sign-In, a secure authentication system for signing in with a Google account.
Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera.
A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play.
Flutter plugin to allow local authentication via biometrics, passcode, pin, or pattern.
v0.10.1+2A widget to prevent clicks from being swallowed by underlying HtmlElementViews on the web.
A Flutter plugin that provides a WebView widget backed by the system webview.
v0.7.0Provides a collection of Flutter grids layouts (staggered, masonry, quilted, woven, etc.).
v4.0.3A Flutter implementation of slidable list item with directional slide actions that can be dismissed.
A set of utility Widgets that Provide and Connect to a Redux Store
v5.14.3Plugin that allows Flutter apps to generate and print documents to compatible printers on Android, iOS, macOS, Windows, and Linux, as well as web print.
v12.2.1A Flutter plugin for Android, iOS and Web supports cropping images
Value types with builders, Dart classes as enums, and serialization. This library is the runtime dependency.
{"sdk":"flutter"}{"sdk":"flutter"}^1.0.0^7.2.0^2.0.4^3.2.3^3.0.1^0.10.0^0.5.0^1.5.0^2.0.2^2.0.6^7.0.7296^8.1.2^5.1.0^3.0.0^6.3.1^6.3.2^12.0.10.17.0^3.1.2^0.5.0-beta{"git":{"url":"https://github.com/theyakka/qr.flutter.git"}}^2.3.0^9.6.0^1.2.0^1.1.0^1.0.1^4.4.1^3.1.0^8.3.1{"git":{"url":"https://github.com/scopendo/flutter_rounded_loading_button.git","ref":"master"}}^3.0.2^0.5.0^2.0.0^11.0.1^10.3.2{"git":{"url":"https://github.com/BenPoell/FlutterBoardView.git"}}^0.9.0^0.0.3^0.1.3^6.2.0^1.2.6^5.11.0^11.0.0^2.14.0^7.0.1^0.3.0^3.1.0^0.7.0^0.7.0^0.1.1^1.0.0^1.15.0-nullsafety.4^4.0.0^12.2.0^0.0.4anyanyanyanyanyanyanyany{"sdk":"flutter"}^1.6.3{"sdk":"flutter"}^2.1.0^8.1.1^2.0.0^3.5.1^4.6.0English project snapshot. Visit GitHub for the latest content.
Client application for Invoice Ninja.
Dashboard View Invoice List Invoice New Invoice
Initialize the config file
cp lib/.env.dart.example lib/.env.dart
Support running the code unsigned on Android
cp android/app/build.gradle.dev.kts android/app/build.gradle.kts
Run the app
flutter run
Note: if you don't have an Invoice Ninja backend setup you can test the app with these credentials:
demo@invoiceninja.comPassword0demo.invoiceninja.comcp lib/utils/oauth.dart.foss lib/utils/oauth.dart
cp lib/utils/app_review.dart.foss lib/utils/app_review.dart
cp lib/ui/app/upgrade_dialog.dart.foss lib/ui/app/upgrade_dialog.dart
cp lib/ui/app/pinput.dart.foss lib/ui/app/pinput.dart
cp android/app/src/main/AndroidManifest.foss.xml android/app/src/main/AndroidManifest.xml
cp android/settings.gradle.foss.kts android/settings.gradle.kts
cp pubspec.foss.yaml pubspec.yaml
rm pubspec.lock
The application was created using the Flutter Redux Starter.
The architecture is based off these two projects:
A High-level overview of the project structure:
lib/ # Root Package
|
├─ data/ # For data handling
│ ├─ mock/ # sample used for testing
│ ├─ models/ # Objects representing data
│ ├─ repositories/ # Source of data
|
├─ redux/ # manages app state
│ ├─ component/ # app building block
│ ├─ actions # methods to update app state
| ├─ middleware # run in response to actions, execute before reducer
| ├─ reducer # intercepts actions, responsible for updating the state
| ├─ selectors # read data from the state, queries against your 'state database'
| ├─ state # immutable object that lives at the top of the widget hierarchy
|
├─ ui/ # app views
│ ├─ component/ # views for different components
│ ├─ view/ # generel view for component
│ ├─ edit/ # change values on the views fields
|
├─ utils/ # Utility classes
The ui and redux folders contain components that are paired together. Put simply you will find an 'auth' folder in both the ui and redux folders.
For additional information on Redux architecture
flutter packages pub run build_runner build --delete-conflicting-outputs to regenerate the model files. It will also remove the old generated files so conflicts are avoided..flutter drive --target=test_driver/all_it.dart to run the testshttps://github.com/invoiceninja/invoiceninja#credits
We gladly accept contributions! If you'd like to get involved with development please join our Slack group or Discord Server.