Git Product home page Git Product logo

bill-split's Introduction

billsplit

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

HTTP Log-monitor

  • View expenses associated to a bill split

HTTP Log-monitor

  • Add new expenses

HTTP Log-monitor

  • Add new participants to a bill split

HTTP Log-monitor

  • View balance of participants

HTTP Log-monitor

Requirements

The backend is written in Go and uses go modules (> go1.13). The frontend uses Vuejs (Vuetify, axios, router)

Backend build instructions

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 build instructions

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)

Project setup
npm install
Compiles and hot-reloads for development
npm run serve

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.