Fair Share is a mobile application designed to make splitting bills among friends easy and efficient. The app provides a seamless way to scan, process, and split expenses, reducing manual calculations and improving financial management. Built with React Native, Node.js, Firebase and OpenAI. Fair Share ensures a smooth user experience on both Android and IOS platform.
https://youtu.be/UkIMWfLS02g?si=WPQCH5w5xhz2hsvI
Mario Diaz
Kaung Myat Naing
Sanjay Sakthivel
Vignesh Ram Ramesh Kutti
-
User Authentication: Secure login and account management
-
Home page: Display recent transcations and shared expenses.
- Past Transactions: Past transactions can be viewed.
-
Spending Analysis: Monthly expenditure breakdown with interaction charts.
-
Bill Uploading:
-
Bill Spliting:
-
Friends Management: Add new friends and mangage existing once.
-
Profile Page: View and manage user details.
-
Error Handling and Scalability: Handles empty responses, invalid data and API errors effectively.
- React Native (Frontend framework for mobile development)
- Node.js (Backend for handing API requests)
- Firebase (Database for storing user data and transactions)
- OpenAI API (used for text extraction from recipts)
- react-native-chart-kit (For spending analysis visualization)
git clone https://github.com/md97331/FairShare.git
cd FairShare- Navigate to the receipt-splitter directory and install dependencies.
cd receipt-splitter
npm install- Set up environment variables:
- Create a .env file in the receipt-splitter folder.
- Add your backend API base URI:
API_BASE_URL=https://your-api-endpoint.com - Start the frontend development server.
npx expo start- Navigate to the backend directory and install dependencies:
cd ../backend
npm install-
Set up environment variables:
- Create a .env file in the backend folder.
- Add your OpenAI API key:
OPENAI_API_KEY=Your-openai-key -
Add service account key.
- Create serviceAccountKey.json file.
- This must contain the key for accessing firebase.
-
Start the backend server.
npm run dev-
Login to your account.
-
Add friends with whom you share expenses.
-
Upload a bill via the camera or gallery.
-
Tag friends to each item on the bill.
-
View auto-generated bill splits.
-
Check the monthly spending analysis in the Analysis Screen.
-
Manage your profile and friends list.
-
If an API response is empty, the app provides a user-friendly message.
-
Invalid transactions are filtered to prevent incorrect calculations.
-
Errors in OpenAI's OCR processing are handled with retry mechanisms.
-
Secure data handling using Firebase authentication and backend validations.
-
Fork the repository.
-
Create a new branch (feature/new-feature).
-
Commit your changes.
-
Push the branch and create a Pull Request.
This project is licensed under the MIT License.











