Document Type


Lead Author Type

CIS Masters Student


Dr. Christian Trefftz,

Embargo Period



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


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.

Available for download on Thursday, March 07, 2024