Giter Site home page Giter Site logo

kaligula0 / gnucash-android-fork Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnucash-pocket/gnucash-android

0.0 0.0 0.0 21.54 MB

[FORKED] Gnucash for Android mobile companion application.

License: Apache License 2.0

Shell 0.04% Java 92.00% Kotlin 7.96%

gnucash-android-fork's Introduction

CI Build Instrumentation Test

Introduction

GnuCash Pocket is a companion expense-tracker application for GnuCash (desktop) designed for Android. It allows you to record transactions on-the-go and later import the data into GnuCash for the desktop.

This app is a continuation of codinguser's "Gnucash for Android", which is already abandoned.

Accounts Transactions Reports
Accounts List Transactions List Reports

The application supports Android 4.4 KitKat (API level 19) and above.

Features include:

  • An easy-to-use interface.
  • Chart of Accounts: A master account can have a hierarchy of detail accounts underneath it. This allows similar account types (e.g. Cash, Bank, Stock) to be grouped into one master account (e.g. Assets).
  • Split Transactions: A single transaction can be split into several pieces to record taxes, fees, and other compound entries.
  • Double Entry: Every transaction must debit one account and credit another by an equal amount. This ensures that the "books balance": that the difference between income and outflow exactly equals the sum of all assets, be they bank, cash, stock or other.
  • Income/Expense Account Types (Categories): These serve not only to categorize your cash flow, but when used properly with the double-entry feature, these can provide an accurate Profit&Loss statement.
  • Scheduled Transactions: GnuCash has the ability to automatically create and enter transactions.
  • Export to GnuCash XML, QIF or OFX. Also, scheduled exports to 3rd-party sync services like DropBox and Google Drive
  • Reports: View summary of transactions (income and expenses) as pie/bar/line charts

Installation

There are different ways to get the GnuCash Pocket app for Android โ€“ through the app store, from GitHub or by building it yourself.

App Store

Android app on Google Play

From GitHub

Download the .apk from Releases. Alternatively you can check latest CI Build action.

Building

With Gradle

This project requires the Android SDK to be installed in your development environment. In addition you'll need to set the ANDROID_HOME environment variable to the location of your SDK. For example:

export ANDROID_HOME=/home/<user>/tools/android-sdk

After satisfying those requirements, the build is pretty simple:

  • Run ./gradlew build installDevelopmentDebug from the within the project folder. It will build the project for you and install it to the connected Android device or running emulator.

The app is configured to allow you to install a development and production version in parallel on your device.

With Android Studio

The easiest way to build is to install Android Studio v2.+ with Gradle v3.4.1. Once installed, then you can import the project into Android Studio:

  1. Open File
  2. Import Project
  3. Select build.gradle under the project directory
  4. Click OK

Then, Gradle will do everything for you.

However, this project uses Firebase and therefore relies on a google-services.json configuration file. This file is not included in this repo and every contributor is encouraged to generate its own.

When importing the project in Android Studio the build task will fail with the following error:

org.gradle.api.GradleException: File google-services.json is missing. The Google Services Plugin cannot function without it.

or something similar depending on the Android Studio version you're using.

In order to generate a google-services.json configuration file follow these steps (Note: it requires a Google account):

  • Open the Firebase Console.
  • Login with your Google account.
  • Create a new project (name doesn't matter).
  • Select "Add Firebase to your Android app".
  • Provide package name: org.gnucash.android.
  • Register app.
  • Download google-services.json file.
  • Follow instructions to add file to project.
  • Skip "Add Firebase SDK step".
  • Run app to verify that the configuration is picked up correctly.

You can also follow these instructions.

Support

GitHub Issues

Contributing

There are several ways you could contribute to the development.

  • Pull requests are always welcome! You could contribute code by fixing bugs, adding new features or automated tests. Take a look at the bug tracker for ideas where to start. It is also preferable to target issues in the current milestone.

  • Make sure to read our contribution guidelines before starting to code.

  • Another way to contribute is by providing translations for languages, or improving translations. The original app by codinguser was translated on CrowdIn

For development, it is recommended to use the Android Studio for development which is available for free. Import the project into the IDE using the build.gradle file. The IDE will resolve dependencies automatically.

License

GnuCash Pocket is free software; you can redistribute it and/or modify it under the terms of the Apache license, version 2.0. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

gnucash-android-fork's People

Contributors

codinguser avatar rivaldi8 avatar aint avatar fefe982 avatar djbrown avatar pnemonic78 avatar jorgeml avatar reul avatar agalanin avatar kaligula0 avatar czan avatar wicowyn avatar avecz avatar near217 avatar lxbzmy avatar fmorato avatar alceurneto avatar gjanssens avatar cmarchi avatar rutsky avatar thesebas avatar aivanovski avatar gutierri avatar gianpamx avatar pbneves avatar biaji avatar hades avatar windwarrior avatar markhaanen avatar sigurdga 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.