Go to file
Hillel Coren 3c8d738d28 Dashboard bug fixes 2019-02-07 20:49:21 +02:00
.idea
android Dashboard bug fixes 2019-02-07 20:49:21 +02:00
assets/images Update logo 2018-09-16 19:07:20 +03:00
ios Dashboard bug fixes 2019-02-07 20:49:21 +02:00
lib Dashboard bug fixes 2019-02-07 20:49:21 +02:00
samples Flutter upgrade 2018-11-11 12:02:55 +02:00
stubs Tasks 2018-12-24 16:57:49 +02:00
test_driver Flutter upgrade 2018-11-11 12:02:55 +02:00
.gitignore Login 2018-09-27 17:50:29 +03:00
.metadata
LICENSE.txt
README.md update readme to be more clear about other steps to follow when you want to compile the flutter app. 2018-12-25 13:54:09 +02:00
analysis_options.yaml Updated Flutter 2018-11-11 09:23:49 +02:00
invoiceninja.iml iOS app 2018-09-02 14:46:29 +03:00
invoiceninja_android.iml
pubspec.lock Add sentry 2019-01-31 11:26:59 +02:00
pubspec.yaml Dashboard bug fixes 2019-02-07 20:49:21 +02:00
starter.sh Stub fix 2018-12-12 17:33:36 +02: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
  • Credits
  • Recurring
  • Tablet support
  • Desktop 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/key.properties.example android/key.properties to create the keys file
  • 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.
  • 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.
  • Run flutter run while you have a device connected to the computer or an emulator running and now you can run it.

Contributions

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