A simple bill splitting app with a Go backend and a Vuejs frontend communicating via a REST api. Share expenses among friends easily by adding expenses to a bill split and automatically get the balance of each participant.
Features:
- View and add new bill splits
- View expenses associated to a bill split
- Add new expenses
- Add new participants to a bill split
- View balance of participants
The backend is written in Go and uses go modules (> go1.13). The frontend uses Vuejs (Vuetify, axios, router)
Backend serves at http://localhost:8010/
It uses PostgreSQL as database and you'll need to create a new database:
Database name, user and password can be set as env vars:
DB_USER (default postgres)
DB_PASSWORD (default password)
DB_NAME (default test_bill)
DB_HOST (default localhost)
DB_PORT (default 5432)
The server address can also be set by an env var:
BACK_ADDR (default :8010)
Launch Postgres: sudo -u postgres psql, and then run creadb DB_NAME
Exit and then run: psql -f database/init/setup.sql -d DB_NAME
to build the backend run: go build -o bill-split
to run it: ./bill-split
If you want a demo mode with some fake data, run ./bill-split -demo instead
Frontend serves at http://localhost:8080/
The backend server address can be set by an env var in the frontend/.env file:
VUE_APP_BACK_ADDR (default http://localhost:8010)
npm install
npm run serve




