Document Type

Project

Lead Author Type

CIS Masters Student

Advisors

Dr. Christian Trefftz, trefftzc@gvsu.edu

Embargo Period

3-7-2024

Keywords

Budget application, REST, React.js, Spring Boot, Java, PostgreSQL, ORM

Abstract

For my capstone project, I created a personal budget application called Mercury that is split into three pieces: a Postgres database, a Java back-end, and a React.js front-end. The back-end and front-end communicate with each other via REST calls. The application allows me to create payment sources, income and expense categories, income items, and expense items. Payment sources, income, and expenses can also be edited or deleted. Each income and expense entity has a date, amount, and category associated to it. There is also a yearly overview view where you can see a breakdown of expenses and income by month and category.

With this project, I gained more experience with creating a full-stack web application from scratch, learned the Spring Boot framework, learned what object-relational mapping (ORM) is and how to use it, and also learned new React.js libraries.

I met my requirements for a minimum viable product, however, there is still things to expand upon such as improving the project’s UI and adding features like keeping track of debt.

Share

COinS