SplitBill is an iOS application designed to simplify the process of splitting expenses among friends. It integrates with Firebase for backend services and offers various features to manage expenses efficiently, including authentication, CRUD operations, OCR for receipts, and integration with Venmo for payments. The app also comes with an Apple WatchOS companion app.
- User Authentication: Sign in with email or phone number using Firebase Authentication.
- CRUD Operations: Create, read, update, and delete expenses and friends.
- Search Friends: Find friends by phone number or email.
- Bill Splitting: Split expenses in three different ways.
- Venmo Integration: Pay bills through Venmo, directing users to the Venmo app for transactions.
- OCR Technology: Extract necessary information from uploaded receipts.
- Apple WatchOS App: View expense lists, details, friend lists, and friend details on Apple Watch.
- Automatic Calculation: Automatically calculate the total amounts owed or to be received from friends across multiple expenses.
- iOS Development: Swift
- Backend: Firebase (Authentication, Firestore)
- Payment Integration: Venmo API
- OCR: Optical Character Recognition for receipt processing
- Wearable: WatchOS app
- Clone the repository:
git clone https://github.com/JasonZe41/SplitBill.git
- Navigate to the project directory:
cd SplitBill - Open the project in Xcode:
open SplitBill.xcodeproj
- Install dependencies using CocoaPods:
pod install
- Set up Firebase:
- Create a new Firebase project at Firebase Console.
- Add an iOS app to your Firebase project.
- Download the
GoogleService-Info.plistfile and add it to the Xcode project.
- Run the app on an iOS simulator or device.
- Sign up or log in using email or phone number.
- Add friends by searching their phone number or email.
- Create and manage expenses.
- Split bills using the provided methods.
- Use Venmo integration for payments.
- Upload receipts to automatically extract expense details.
- View and manage expenses and friends on the Apple WatchOS companion app.
- Fork the repository.
- Create your feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/YourFeature
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.


