Skip to content

aakashhemadri/GnuCashX

Repository files navigation

GnuCashX

GitHub All Releases

Documentation | Installation | Development | Contributors | License

Table of Contents

Introduction

The purpose of GnuCashX is to be true to the exisiting GnuCash application currently in development and to have 1:1 feature parity with GnuCash. Though our app has no relationship to the GnuCash project and shares nothing more than the name, we intend to be 100% interoperable to the .gnucash format and support all export types as found in GnuCash

Installation

GitHub Releases

You can visit releases to download the latest built binaries.

Web App

Visit the stable version of the app built against the latest tagged release or the latest version of the app built against the master branch.

Android & iOS App Stores

In the works, not a priority until we have a decent app. Help us get there by contributing.

Contributing to GnuCashX!

Check out CONTRIBUTING.md to help this project

Development

Setup your environment

You may open this project on your favourite IDE that supports Flutter through a plugin extension.

If you are confused you can pick using VSCode with the flutter extension or use Android Studio with Flutter plugin installed. If you have the flutter-sdk and dart-sdk you can directly run the below commands to build this app.

Setup git hooks

# Setup git hooks
git config core.hooksPath hooks/

Prepare flutter

# Disable analytics
flutter config --no-analytics
# Download dependencies
flutter pub get

Generate freezed code

# Generate freezed code
flutter pub run build_runner build --delete-conflicting-outputs

Run all tests

flutter test

Developing with hot-reload

# Runs you're app on debug mode on a connected device
flutter run 

Debug with performance profiling

# Runs you're app in profile mode on a connected device
flutter run --profile

Build the application for different platforms

# Android APK
flutter build apk
# Build web distribution files
flutter build web
# Build for iOS target
flutter build ios --release --no-codesign

Build API documentation

# Allow dartdoc to be run globally 
flutter pub global activate dartdoc 
# Render docs to doc/api
flutter pub global run dartdoc .

Makefile & Helpers

A lot of the above steps have been implemented in this Makefile. You'll need to have make installed on your machine. To know more visit GNU Make

Contributors

License

GnuCashX is licensed under the GPLv2 License. See LICENSE for more information.