This repository is meant for a Frontend web application for an expense tracker application.
Link for backend application: https://github.com/nahwu/expense-app-backend
App Demo v0.0.1
While there are many expense trackers out there. The good ones are mostly behind a paywall.
Knowledge
or awareness
of your own expenses is very crucial to our personal financial health for both the present and the future.
For example, it only takes 20 average medium-sized spending (e.g. $50) within a month to reach 4 figure expense (>= $1000) for the month. It's not uncommon to know someone who spends beyond their means, especially when one suddenly have more income than before.
The goal of this project is to begin with expense awareness
and then expand onwards to expense budgeting
>> saving & networth projection
>> retirement planning
- Transactions data
- Date, item description, expense category, payer, receiver, expense/income, amount
- Feature: View existing transactions
- View most recent transactions
- Search based on item description
- Feature: Create transactions
- Feature: Delete transactions
- Demo functionality for
- Adding expense
- Viewing expense
- Sorting expenses
- Added in Dockerfile for this application
- Added TLS support
- Feature: Mobile friendly view for existing expenses (ready-made table is not suitable for mobile)
- Feature: Add support for view Transaction API
- Search based on time period as well
- Add in pagination (page + page size) for results
- Feature: Add support for edit Transaction API
- Feature: Add support for aggregation Transaction API (for descriptive analytics e.g. charts)
- View current month expenses (by category)
- View current month expenses VS budgeted
- View current month savings
- Feature: Add support for monthly recurring expense
- Feature: Add support for list, create, edit, delete Expense Category API
- Feature: Add support for income
- Feature: Add support for list, create, edit, delete Expense Payer API
- Feature: Add support for list, create, edit, delete Expense Receiver API
- Feature: Allow data import from CSV file
- Flexible field-name remapping for data import/export
- Feature: Allow data export to CSV fil
- Feature: Investment tracking
- Feature: Account login
- Feature: Account creation
- Feature: Multi accounts visibility for family sharing
- Feature: Upload and attach image to expense
npm start
-
Build Docker image
docker build -t nahwu2/react-expense-app:0.1 .
-
Upload Docker image to Docker Registry
docker push nahwu2/react-expense-app:0.1
-
Export Docker image as a file. Normally used when there is no Internet at the deployment location. If on Windows, use this command with Git Bash.
docker save nahwu2/react-expense-app:0.1 | gzip > exported_react_expense_app_0_1.tar.gz
Open nginx.conf and change from
listen 8081 ssl;
server_name nahwu.synology.me;
ssl_certificate /mycert/bundle.pem;
ssl_certificate_key /mycert/privkey.pem;
to
listen 8081 ssl;
server_name nahwu.synology.me;
Open src/App.js and change from
const backendServerPath = "https://nahwu.synology.me:8080";
to
const backendServerPath = "http://nahwu.synology.me:8080";
npm install @react-oauth/google@latest
https://www.npmjs.com/package/@react-oauth/google
https://github.com/MomenSherif/react-oauth
This project was bootstrapped with Create React App.
npm install jwt-decode --save
npm install js-cookie --save