Giter Site home page Giter Site logo

simonking200 / flutter-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from invoiceninja/admin-portal

0.0 1.0 0.0 39.93 MB

Invoice Ninja client built with Flutter

Home Page: https://demo.invoiceninja.com

License: Other

Objective-C 0.01% Dart 99.02% Shell 0.33% Kotlin 0.01% Swift 0.03% HTML 0.03% Ruby 0.05% CMake 0.21% C++ 0.32% C 0.02%

flutter-client's Introduction

Invoice Ninja

Client app for the Invoice Ninja web app.

  • Google Play Store: v4 | v5
  • Apple App Store: v4 | v5

Dashboard View Invoice List Invoice New Invoice

Setting up the app

  • Run cp lib/.env.dart.example lib/.env.dart to create the config file.
  • Run cp android/app/build.gradle.dev android/app/build.gradle to support running the code unsigned.
  • Run flutter run while you have a device connected to the computer or an emulator running and now you can run it.

Note: if you don't have an Invoice Ninja backend setup you can test the app with these credentials:

Steps to remove non-FOSS code

cp android/build.gradle.foss android/build.gradle
cp lib/utils/oauth.dart.foss lib/utils/oauth.dart
cp lib/ui/app/upgrade_dialog.dart.foss lib/ui/app/upgrade_dialog.dart
cp android/app/src/main/AndroidManifest.foss.xml android/app/src/main/AndroidManifest.xml
cp pubspec.foss.yaml pubspec.yaml 
rm pubspec.lock

Application Architecture

The application was created using the Flutter Redux Starter.

The architecture is based off these two projects:

Blog Posts

Code generation

  • Run 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..

Tests

  • Run flutter drive --target=test_driver/all_it.dart to run the tests

Code Signing

  • Run cp android/app/build.gradle.prod android/app/build.gradle to support running the code signed
  • Run cp android/key.properties.example android/key.properties to create the keys file
  • Run keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias invoiceninja to generate a key to be able to sign the android application.
  • Update android/key.properties according to the parameters you entered in previous command when you generated the key
  • Open a new Firebase project from your console. Firebase is used for authentication.
    • Inside the project go to Authentication and enable at least one method.
    • After go to add a new Android application. For the package name add com.invoiceninja.flutter
    • Press "Register App" button.
    • Download "google-services.json" and put it in android/app directory.

Credits

https://github.com/invoiceninja/invoiceninja#credits

Contributions

We gladly accept contributions! If you'd like to get involved with development please join our Slack group.

flutter-client's People

Contributors

hillelcoren avatar ggasbarri avatar guptaanmol184 avatar esarbanis avatar joshuadwire avatar psame18 avatar whatisfydocom avatar turbo124 avatar mindnervestech avatar danysz avatar heilmela avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.