/Budget5S

Budget5S aims to offer a free alternative to budget managers.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

logo

Badges

AGPL License JavaScript React NodeJS Vite

Budget5S

Budget5S aims to offer a free alternative to budget managers. This is an alpha version, with new features to come, changes to be made, and, ESPECIALLY, bugs to be fixed, so it's for informed users. You've been warned!

There are 3 components/mechanics:

  • Account: Your bank account or piggy bank with an initial balance.

  • Bucket: A bucket, as its name suggests, is for defining a budget. For example, a “Restaurant” bucket can be defined with a monthly amount to be reached, or on the contrary, without an amount depending on the importance of the bucket to keep flexibility. A “Restaurant” bucket can afford to be without an amount, while a “Rent” bucket will have to have a fixed monthly amount (or at your own risk 😉).

  • Vault: To build up your financial security or for other specific needs, you can either define it as a monthly requirement without worrying about the total amount (e.g., I want to save €100 every month) or with a predefined total amount (I want to save €10,000 by the end of the year). The amount required to reach this goal will be calculated and displayed for each month. Vaults are linked to an account, which is important for transfers, as you will see below.

To manage your accounts, buckets, and vaults, you can:

  • Make a transaction on your account, to remove or add money with a label (for example: Salary - €2,500) or even to notify an unexpected money transfer, for example, if you're giving money to a relative and there's no bucket or vault for it.

  • Transaction vaults: If you want to transfer money to your vault, the “transaction vaults” will ask you from which source account to withdraw the money, for which vault. The operation will be recorded in the vault, and the money from the source account will be transferred to the account linked to the vault!

  • And finally, you have the expenses. The goal is simple: you indicate the account that you have used, the bucket in which the expense belongs (Restaurant, rent, shopping, etc.).

screenshot

Easy to use !

Installation

You can install it via Docker (or podman...):

Clone the git:

  git clone https://github.com/KayatoSan/Budget5S
  cd Budget5S

Now build the app and launch it with the docker-compose.yml:

  docker-compose build
  docker-compose up -d

The client (ReactJS + ViteJS) is in the /client folder, and the server (NodeJS) is in the /server folder.

Environment Variables

Environment variables are stored in the .env file:

VITE_BACKEND_ADRESS The address of your backend written in the ReactJS client, default: http://localhost

VITE_BACKEND_PORT The port of your backend written in the ReactJS client, default: 3000

If you change the port used in docker-compose.yml, you need to change the environment variables in the .env file.

Roadmap

  • Switch for dark mode. Dark mode is available but is currently tied to your system settings.

  • Showcase website

  • Internationalization

  • Change currency display & format

  • Bug fixes are THE priority!

  • A real documentation (with Docusaurus)

  • Guide for first use

  • Allow the upload of photos for expenses, for example, to keep a photo of the restaurant receipt with the expense!

And more, in the long term!