Change is an open source, Progressive Web App money management application designed for tracking spending transactions and planning financial goals. Change implements a dual-system architecture that separates spending management (tracking actual transactions) from planning management (setting financial goals and organizing spending categories).
Change structures and stores planning goals in easy to understand manner, focusing primarily on:
- Performance (fast response times)
- Ease of use (good user experience)
- Security (data stored on device or on own Google drive).
- Easy to understand, reusable code.
The application is developed entirely in vanilla Javascript in order for me to understand the challenges of developing a large system in a dynamic manner.
You can access the web application here: Change
In order to start the application locally you need to have Node installed
git clone https://github.com/asarbu/Change.git
cd Change
npm install
- For development setup execute:
npm run dev
- For productive (minified and uglified) setup execute:
npm run build
npm run start
Go to your web browser on the address specified by the previous command (usually 127.0.0.1:8080)
Planning is intuitively managed by hirerahically building small goals into categories and further into statements. Spending transactions are then registered acording to your goal categories. You can always check your progress in a monthly report.
Planning Demo | Spending Demo |
---|---|
You can find a list of open issues by accessing this Trello board.
If you found this application helpful I would be extremely glad if you could give me a star and buy me a coffee!
- Icons downloaded from : Pictogrammers
- SVG To Data URI Encoder: Allan Moreno
Creative Commons Non-Commercial License
Copyright (c) 2024 AlexandruSebastian SARBU
You are free to:
-
Share — copy and redistribute the material in any medium or format
-
Adapt — remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
-
Attribution — You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
-
NonCommercial — You may not use the material for commercial purposes .
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
Notices: You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation .
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.