This project is a fork of original project created here : Budget
More time pass, more this fork will be different. You can compare the two project and fork this one who is better for your. You can see issues github to know what is different in this fork. And where this project going. You can discuss with me on github's issues if you want more information or other features I wouldn't have thought of. I will check modifications of original project and merge them if they are usefull for this fork.
Big thanks to range_of_motion and his contributors for this original work that permit to me to have a good base for update the application on what i imagine.
Budget is an open-source web application that helps you keep track of your finances.
You can use Budget by hosting it yourself.
- Insertion and management of transactions
- Ability to organize transactions using tags
- Facilitate uploading and organizing of receipts
- Support for importing transactions (CSV format)
- Reports that visualize financials (showing weekly balance and most expensive tags, for example)
- Supports multiple currencies
- Available in multiple languages
- Weekly summary available through e-mail
- Transactions synchronisation with your bank
- PHP 8.0 or higher
- HTTP server (for example Apache or NGINX)
- MySQL
- Composer
- Node.js
- Clone the repository (
git clone https://github.com/RocketC31/budget.git
)- You should always check out a tag, since the
master
branch might not always be stable (git checkout TAG
)
- You should always check out a tag, since the
- Install dependencies (
composer install --no-dev -o
) - Run installation command (
php artisan budget:install
) - Configure additional services in
.env
(database or mail, for example) - Run migrations for database (
php artisan migrate
) - Head over to your list of crons (
crontab -e
) and add* * * * * cd /path-to-budget && php artisan schedule:run >> /dev/null 2>&1
Note that in order for certain features to work properly, the jobs queue needs to be watched. This can be done by either running php artisan queue:work
or using Supervisor.
Use the command below to update to the latest version.
php artisan budget:update
Translations in VueJs is working with matice librarie
If you want to use default lang path of laravel, do that :
php artisan vendor:publish --provider="Genl\Matice\MaticeServiceProvider"
And edit on config/matice.php
'lang_directory' => lang_path(),
Because of some providers have not same configuration. Some configurations can be activate or disabled :
# For use or not redis. Usefull for widget balance_global who store data into redis
REDIS_AVAILABLE:true
# For server who not have PATCH method available. If set to false, PUT method will be used
PATCH_METHOD_AVAILABLE:true
In this project we have implement Nordigen API. For permit to use it. You need to create an account on https://nordigen.com. When it's done, create new user secrets and set it in .env
BANK_SYNC_SECRET_ID= //secret id from nordigen
BANK_SYNC_SECRET_KEY= //secret key from nordigen
When it's done, users can now add synchronisation with their bank on their space.
On Option > Spaces > Options (on the space where add sync)
.
- Toggle the sync bank button
- Save
- Select the bank from the list (bank listing depend of your lang)
- Save
- Click to connect to the bank link
You can get set-up with Budget using Docker.
If you just want an environment that takes care of the webserver, PHP and database, you should use this option. It will spin up the services required to run Budget, but not do any of the setting up for the application (activities such as installing Composer dependencies or generating an application key).
docker-compose up -d
If you want everything to be installed and set-up from start to finish, you should use this option. By providing the BUDGET_SETUP
environment variable, a script will run that does everything you need–whether it's installing Composer dependencies or compiling front-end assets.
It may take a few minutes before the process is completed and you're able to use Budget.
BUDGET_SETUP=1 docker-compose up -d