Skip to content

DeeprajPandey/splidwise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpliDwise

SpliDwise is a distributed version of a popular similar application called Splitwise implemented on Hyperledger Fabric. The client facing application is built with Vue.js and the backend api is set up with Express.js which talks to the Fabric Network (simple setup with only 1 organisation which approves transactions).

🚧 The website is down because we are in the process of migrating the server from a personal AWS EC2 to another instance hosted by the University.

Project Demo: https://youtu.be/k8SGb_GyI14

We are currently in private beta and only people with a valid Ashoka ID can register for Splidwise. We will open access soon.

API Documentation

The documentation is hosted here: https://relaxed-dijkstra-a3d3bb.netlify.com

The documentation comes with a playground set up with the staging server hosted on Heroku. You can make all the calls from within the documentation but if you want to test it out yourself, you can do that here. A rate limit of 80 requests/hour is enforced since the staging server is currently on free dynos.

Setup

SpliDwise is under active development right now and might have multiple breaking changes throughout. Expect the entire application to change drastically often.

Install Dependencies

We assume node and tmux are installed on the system.

  1. Move into the splidwise directory. From this point on, all commands are run in this directory.
$ cd hyperledger-backend/splidwise
  1. Install the dependencies and also ensure that docker is running
$ npm install
  1. Run the start script.
$ ./startSplidwise.sh

This will start the docker containers to set up the Fabric network, and then start the API server in a new TMUX Session and name it [server]. It will then run another script that will make a few api calls to initialise the network with a few users, and some activity between them (take a look at splidwise/services/init-requests.json for the api requests made).

In the end, it will attach to the Tmux server session where you can see real time logs when more calls are made.

  1. In a separate terminal session, start the client (with debugging)
$ cd ../ui
$ quasar dev

This is still under development and will be a part of the final milestone.

  1. You can now access the application at http://localhost:8080

Logs

  • To access chaincode logs after startSplidwise.sh script has successfully run, run this command in a new terminal session
docker logs -f dev-peer0.org1.example.com-splidwise-1.0
  • To access the server logs, attach to the server tmux session from another terminal session.
tmux attach -t server

To detach from the server session and leave it running, use the key combinations Ctrl+b followed by d. Here's a cheatsheet with more tmux commands.

Screenshots

  1. Login

2. Dashboard

4. Payment

5. Unapproved Payments

About

Split your bills with a provably secure ledger of the transactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published