Manage your personal finances quickly and effectively. Without a spreadsheet. With or without a reliable connection to the web.
Heroku installation → https://pwa-budget-tracker-03022021.herokuapp.com/
PWA Budget Tracker is simple utility for keeping track of your personal finances. In order to provide a seamless online/offline experience, this project utilizes what are known as progressive web application technologies, including service workers and IndexedDB for storing data when if the web client loses it's connection to the web. In today's landscape of increasingly mobile and dispersed technology usage, these types of technologies will surely become a standard that users expect in the near future.
In order to use develop this application on your PC, you will need to install Node.JS and Git. clone this project to a location on your file system using the following in your terminal:
git clone https://github.com/alane019/pwa-budget-tracker.git
This will copy all files from this github repository to your working directory.
Install all node package dependencies listed in the package.json file using the following command in your terminal, in the directory of the project:
npm install
You can also use:
npm i
When using the PWA Budget Tracker, press the plus sign to add transactions with positive values (that is, credits, or earnings). Use the minus sign to add transactions with negative values (that is, debits, or spending).
Heroku provides a comprehensive set of user documentation to help you host a Node.js application on the web with minimal time and effort: https://devcenter.heroku.com/articles/deploying-nodejs
- NodeJs - JavaScript runtime
- MongoDB - Database
- Mongoose - Object modeling for MongoDB
- Express - Web server
- IndexedDB API used for offline indexed storage
- Service Worker API used to handle online/offline data synchronization.
Any and all contributions are welcome. Submit a pull request or an issue if you would like to contribute code changes, or request improvements. This project would be great for any new developers interested in learning how to design or implement progessive web applications.