All Projects → budgetzero → Budgetzero

budgetzero / Budgetzero

Licence: agpl-3.0
https://app.budgetzero.io

Projects that are alternatives of or similar to Budgetzero

Meteor Transactions
App level transactions for Meteor + Mongo
Stars: ✭ 115 (-19.58%)
Mutual labels:  transactions
Vue Pouch Db
Vue Pouch DB is a VueJS Plugin that binds PouchDB with Vue and keeps a synchronised state with the database. Has support for Mango queries which are processed locally within the VuePouchDB state.
Stars: ✭ 127 (-11.19%)
Mutual labels:  offline
Aws Mobile Appsync Events Starter React Native
GraphQL starter application with Realtime and Offline functionality using AWS AppSync
Stars: ✭ 134 (-6.29%)
Mutual labels:  offline
Mobile Sdk
CARTO Mobile SDK core project
Stars: ✭ 116 (-18.88%)
Mutual labels:  offline
Hd Wallet Derive
A command-line tool that derives bip32 addresses and private keys.
Stars: ✭ 125 (-12.59%)
Mutual labels:  offline
Ynab Bank Importer
💰 Pull transactions from your bank and import them to YNAB automatically.
Stars: ✭ 129 (-9.79%)
Mutual labels:  transactions
Save For Offline
Android app for saving webpages for offline reading.
Stars: ✭ 114 (-20.28%)
Mutual labels:  offline
Kiwix Tools
Command line Kiwix tools: kiwix-serve, kiwix-manage, ...
Stars: ✭ 139 (-2.8%)
Mutual labels:  offline
Arango
Golang driver for ArangoDB
Stars: ✭ 125 (-12.59%)
Mutual labels:  transactions
Cachewebview
Custom implement Android WebView cache, offline website, let cahe config more simple and flexible
Stars: ✭ 1,767 (+1135.66%)
Mutual labels:  offline
Wikiman
Wikiman is an offline search engine for manual pages, Arch Wiki, Gentoo Wiki and other documentation.
Stars: ✭ 117 (-18.18%)
Mutual labels:  offline
Corobase
Coroutine-Oriented Main-Memory Database Engine, VLDB 2021.
Stars: ✭ 121 (-15.38%)
Mutual labels:  transactions
Kiwix Js
Full portable & lightweight ZIM reader in Javascript
Stars: ✭ 130 (-9.09%)
Mutual labels:  offline
Bento Starter
🍱 Full-Stack solution to quickly build PWA applications with Vue.js and Firebase
Stars: ✭ 1,519 (+962.24%)
Mutual labels:  offline
Androidmarytts
Android MARY TTS - an open-source, offline HMM-Based text-to-speech synthesis system based on MaryTTS
Stars: ✭ 134 (-6.29%)
Mutual labels:  offline
React Most Wanted
React starter kit with "Most Wanted" application features
Stars: ✭ 1,867 (+1205.59%)
Mutual labels:  offline
Offlineimap
Read/sync your IMAP mailboxes (python2)
Stars: ✭ 1,647 (+1051.75%)
Mutual labels:  offline
Bouncer Proxy
👮🏻🛰 Ethereum identity proxy contract that bounces meta transactions of etherless accounts.
Stars: ✭ 142 (-0.7%)
Mutual labels:  transactions
Wora
Write Once, Render Anywhere. typescript libraries: cache-persist, apollo-offline, relay-offline, offline-first, apollo-cache, relay-store, netinfo, detect-network
Stars: ✭ 138 (-3.5%)
Mutual labels:  offline
Meteor Service Worker
An universal service worker for meteor apps
Stars: ✭ 132 (-7.69%)
Mutual labels:  offline

Netlify Status master dev
Subreddit subscribers

Buy Me A Coffee

budgetzero is a free, open-source, privacy-friendly, offline-first budgeting system.

Use at budgetzero.io, download the desktop apps or self-host on your own server. Zero ads, zero trackers, just budgeting.

⚠️ budgetzero is under active development and considered an alpha version. You may encounter significant bugs and breaking changes. Feel free to file an issue! ⚠️

Features

✔️ Zero-based 'envelope' budgeting
✔️ Offline-first storage. NOTE: All data is stored in the browser and may be lost if you clear the browser's data.
✔️ Import Transactions (OFX, QFX, CSV)
✔️ Carry negative balances into next month
✔️ Privacy-focused. Zero trackers & zero analytics.

Getting Started

There's multiple ways to use budgetzero.

  1. On the official app.budgetzero.io page.
  2. Installing the desktop app (Windows or Mac). Download here
  3. Self host the web app. You can either deploy the docker image or build and host the static files on your own webserver. See deployment section below for more details.

⚠️ Known Issues (being worked on)

  • UI Inconsistencies (pop-up boxes, colors, etc)
  • Performance not tested for extremely large budgets (thousands of transactions)
  • Transfer transactions work but may be a bit buggy
  • Find a bug? Please file an issue!

Roadmap

Current development board

  • [ ] Reports
  • [ ] Cloud Sync through budgetzero.io (coming soon)
  • [ ] Self-hosted sync server (coming soon)
  • [ ] Cross-platform desktop applications (Windows, Mac, Linux)
  • [ ] Multi-month view
  • [ ] Payee management

Deployment

Docker

docker pull budgetzero/budgetzero:latest

Then run with

docker run -d -p <desired_port>:8080 --name budgetzero budgetzero/budgetzero

Example:

docker run -d -p 8080:8080 --name budgetzero budgetzero/budgetzero

Your budgetzero instance is now running at <docker_IP>:<desired_port>

Manual Deployment

You can also build the static files and host on any webserver.

npm install
npm run build

The files will be built into the dist/ folder and can be hosted anywhere.

Sync Server Setup

Budgetzero uses PouchDB to store the all data client-side in the browser. In order to enable sync across multiple browsers and/or devices, you'll need to set up a CouchDB server accessible from the desired devices. This setup guide is a general overview, feel free to adapt as needed.

Manual Setup Instructions for Advanced Users
  1. Install CouchDB on a server: Manually or with the official docker couchdb image.
    If you're using docker, start CouchDB using the provided instructions.
    Example:

    docker run -d --name budgetzero-couchdb-sync -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password couchdb:latest
    

    Replace admin and password with desired user/password.

  2. Navigate to http://[docker_host_IP]:5984/_utils, which opens the Fauxton web interface for CouchDB administration.

  3. Go to 'Configuration' and enable CORS for all domains.

  4. Create a database with whatever name you desire.

Development

Pull Requests

Good pull requests (patches, improvements, new features) are a greatly appreciated.

Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise, you risk spending a lot of time working on something that might not get accepted or is already in development.

Dev Setup

npm install

To start a development web server:

npm run serve

Run tests

Run all tests once:

npm run test:unit

Run all tests and re-run if files change:

npm run test-watch:unit

Run with debugger (chrome://inspect)

node --inspect node_modules/.bin/jest --runInBand tests/unit/Transactions.spec.js    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].