Giter Club home page Giter Club logo

splt's Introduction

White SPLT Logo Black SPLT Logo

Open Source Bill Splitting Web Application πŸ’ΈπŸ€‘πŸ‘―


Key Features

  • Mobile first design, sleek and minimalistic
  • Users can share link to the group with their friends
  • No need logging in
  • Automatically summarizing debts
  • Users can specify their preferred payment methods (for the friends to send back the money)

Tech Stacks

  • NextJS (can be easily hosted on Vercel)
  • Pocketbase (can be easily hosted on Pockethost.io)
  • Mantine UI

Getting Started

// TODO

Development Setup

  1. Clone this repo, and navigate to this

  2. Install dependencies

    npm install
  3. Run the front development server:

    npm run dev
  4. Open new Terminal, and navigate to db folder

    cd db
  5. Download Pocketbase based on your system and copy pocketbase executable file to this db folder.

  6. Start Pocketbase (Backend + Database)

    ./pocketbase serve
  7. Visit to Admin UI http://127.0.0.1:8090/_/ and create admin account

  8. Go to tab Settings -> Import collections

  9. Press Load from JSON file and choose pb_schema.json file from this db folder

  10. Enjoy!

Production Deployment

// TODO

TODOs

  • Add Editing Transaction
  • Advanced Bill Spliting
  • Loading Bar when pressing (as it slow with NextJS)
  • Add non participant person in transaction view, show everyoneIsParticipant toggle
  • Enable passcode checking
  • Finishing README.md : Getting Started, Deploy, Banner + Screenshot, Center logo
  • Code Refractoring, Cleaning
  • Creating first release
  • Make contrast color on selecting participant when creating bill more clear
  • Add button to show edit Preferred Payment Method when adding participant when creating Group
  • IBAN Masking (when adding and viewing)
  • Change Emoji choosing to Emoji-Mart
  • Handle Error when no data is loaded
  • Choose currency
  • Summary page of how much per person

Future Features

  • Choosing who you are
  • i18n
  • Handle Preferrred Payment Method from other country
  • Enable Authentication
  • Bill Uploading: Store in S3, Extracting out information
  • Bank name fetching from IBAN
  • Dockerfile for easier deployment
  • Email notification

splt's People

Contributors

guid3d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

anmolgoyal12

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.