A full-stack web application that emulates the core functionalities of Splitwise, allowing users to manage shared expenses seamlessly. This project leverages a microservices architecture with a Java Spring Boot backend and a React frontend.
- Java
- Spring Boot
- Spring Web
- Hibernate (JPA)
- PostgreSQL
- RESTful APIs
- React.js
- JavaScript
- CSS
server/: Contains the backend microservices built with Spring Boot.client/: Contains the frontend application built with React.
- User Authentication: Secure login and registration functionalities.
- Group Management: Create and manage groups for expense sharing.
- Expense Tracking: Add, update, and delete expenses within groups.
- Settlement Algorithm: Calculate the minimum number of transactions required to settle debts within a group.
- Dashboard: View summaries of balances and transaction histories.
- Java 11 or higher
- Node.js and npm
- PostgreSQL
- Navigate to the
serverdirectory:cd server - Configure the PostgreSQL database settings in
application.properties. - Build and run the Spring Boot application:
./mvn spring-boot:run
- Navigate to the
clientdirectory:cd client - Install dependencies:
npm install
- Start the React development server:
npm run dev




