Go to file
Hillel Coren b45ffe6bd3 Expenses 2019-06-12 18:39:04 +03:00
.idea Vendors 2019-06-02 15:09:05 +03:00
android Improve app setup 2019-05-28 12:44:05 +03:00
assets/images Update logo 2018-09-16 19:07:20 +03:00
ios Update version 2019-03-20 22:39:39 +02:00
lib Expenses 2019-06-12 18:39:04 +03:00
samples Flutter upgrade 2018-11-11 12:02:55 +02:00
stubs Expenses 2019-06-03 18:02:52 +03:00
test_driver Working on tests 2019-03-04 17:06:23 +02:00
.gitignore Improve app setup 2019-05-28 12:44:05 +03:00
.metadata
LICENSE.txt Update copyright year 2019-05-28 23:28:32 +03:00
README.md Update readme 2019-05-28 12:45:45 +03:00
analysis_options.yaml Update Flutter 2019-03-04 12:40:49 +02:00
invoiceninja.iml
invoiceninja_android.iml
pubspec.lock Comment out new PDF library 2019-05-28 15:55:43 +03:00
pubspec.yaml Vendors 2019-06-03 12:55:39 +03:00
starter.sh Code gen 2019-05-30 18:22:23 +03:00

README.md

Invoice Ninja

Companion app for the Invoice Ninja web app.

Note: the mobile app requires the latest version of the web app.

View Invoice List Invoices Contact Details Edit Product

Features

  • Dashboard
  • Clients
  • Products
  • Invoices
  • Quotes
  • Payments
  • Projects
  • Tasks
  • Vendors
  • Expenses
  • Tablet support
  • Desktop support
  • Web support

Application Architecture

The application was created using the Flutter Redux Starter.

The architecture is based off these two projects:

Blog Posts

Developer Notes

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

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/products_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.

Contributions

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