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
-
Clone this repo, and navigate to this
-
Install dependencies
npm install
-
Run the front development server:
npm run dev
-
Open new Terminal, and navigate to db folder
cd db
-
Download Pocketbase based on your system and copy pocketbase
executable file to this db folder.
-
Start Pocketbase (Backend + Database)
./pocketbase serve
-
Visit to Admin UI http://127.0.0.1:8090/_/
and create admin account
-
Go to tab Settings -> Import collections
-
Press Load from JSON file and choose pb_schema.json
file from this db folder
-
Enjoy!
Production Deployment
// TODO
TODOs
- [x] 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
- [x] 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