Skip to content

PatAKnight/PersonalFinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PersonalFinance

Personal Finance Tracker built with Angular, Spring Boot, and MongoDb

Table of Contents

Introduction

Tracking monthly expenses can be a daunting task. PersonalFinance helps to alleviate this problem by organizing expenses into monthly reports. PersonalFinance aims to simplify the approach of expenditure tracking

This project was created to learn common full stack technologies. Angular and Spring Boot are both popular technologies in software development at the moment. I wanted to gain more experience using the two so I spent a week reading up on the topics and built this project as a result. I chose finance as the topic because managing my own personal finances has always been important to me.

Technologies

FrontEnd

  • Angular 13.2.5
  • Node 14.19.0
  • Languages used: HTML, CSS, Typescript

BackEnd

  • Spring Boot 2.6.4
  • Maven 3.8.4
  • Language used: Java

Database

  • MongoDB 5.0.3

Setup

  • Clone the application git clone https://github.com/SNHUPatKnight/PersonalFinance.git

  • Navigate to the Backend folder to run the backend using maven

cd .\PersonalFinance\PFTBackEnd\
mvn spring-boot:run
  • The backend will load on http://localhost:8080

  • Navigate to the Frontend folder to run the frontend using npm

cd .\PersonalFinance\PFTFrontEnd\
ng serve

Functionality

  • Create, Read, Update, Delete Reports
  • Create, Read, Update, Delete Transactions
  • Transactions are organized by Categories which are organized by Reports
    • Report -> Categories -> Transactions
  • Input Validation
    • Frontend validation to provide instant feedback to users
    • Backend validation to protect data integrity

Usage

Create a report by entering the month and date add-report

View the saved reports report-list

Edit the report update-report

Delete the report delete-report

Create transaction by entering the name, date, amount, category, and subcategory add-transaction

View the saved transactions for the given month transaction-list

Edit the transaction update-transaction

Delete the transaction delete-transaction

Future Functionality

  • Implement Login with Authorization
  • Add a feature for tracking Savings accounts
  • Add a feature for tracking Debt accounts
  • Add an Admin account to handle user accounts

Sources

This project was meant as a learning experience that involved working with new technologies. These amazing tutorials helped in getting me started with Angular and Spring Boot