Skip to content

Accounting, tax reporting, and invoicing for gigs and side income.

License

Notifications You must be signed in to change notification settings

gigobooks/gigobooks

Repository files navigation

Gig'o'Books

Accounting, tax reporting, and invoicing for gigs and side income.

Non-cloud. Privacy-focused. Open. Multi-currency. Double entry bookkeeping. Free.

There are multiple editions of Gig'o'Books.

Community / Desktop edition:

Gig'o'Books is a client-side ReactJS webapp which runs in a system-provided webview. The webview is written in Go and provides access to sqlite and other native facilities. Hence, Gig'o'Books acts like native desktop software.

  • Your data is stored in an sqlite file on your local filesystem.
  • Gig'o'Books runs entirely offline and does not access the Internet.
  • Data is stored in an sqlite database file. The schema and code are open so you can interact with your data yourself (if you so wish).
  • The community edition (Gig'o'Books CE) is free and open source.
  • It is intended to be cross-platform desktop (Windows/MacOS/Linux) although it has only been tested on MacOS and Ubuntu/libgtk so far. Windows should work but may require some tweaking.

Web edition:

There is a separate Web edition which is available at https://www.gigobooks.com/webapp

Despite being a webapp, it is non-SaaS, runs fully client-side and your data is stored in an sqlite file on your local filesystem.

The Web edition is very much like the Desktop edition except that it runs in a regular web browser.

Status

Gig'o'Books is beta software that is suitable for production use. Remember to make backups of your data files (which, in the general case, you should be doing anyway).

Links

Building

(Only tested on MacOS and Ubuntu Linux so far. It may require tweaks or small changes to work on Windows.)

Install dependencies:

Then, in the top level directory, run:

# This will install a bunch of components
yarn

# This will 'compile' into the `dist` subdirectory.
yarn webpack --mode=development

Usage

(These instructions are for running in development mode.)

Run websqlview and point it to dist/index.html. For example:

websqlview dist/index.html

If you are making changes to the source code, you probably want to do:

yarn watch

and leave it running. This tells webpack to monitor changes and re-'compile' automatically.

The data file is a regular sqlite database. You can use any third-party sqlite client to open/read/write it. However, this is an advanced technique and you may corrupt the data. Only do this if you know what you are doing.

Contributing

See Contributing.

License