Skip to content

biscuitdelicious/itfest_2025

 
 

Repository files navigation

🍽️ Bill Splitter

A modern, intuitive mobile app for splitting bills with friends. Built for ITFest 2025.

How It Works

  1. Scan - Take a photo of your receipt or bill
  2. Create - Generate a room and share the QR code
  3. Join - Friends scan the QR to join the room
  4. Select - Each person picks their items
  5. Pay - Use Revolut integration for instant payment
  6. Done - Everyone gets a recap and history

✨ Features

Smart Bill Scanning

  • Scan receipts using your camera
  • Automatic bill read and item recognition
  • Real-time bill parsing

Collaborative Rooms

  • Create or join rooms with QR codes
  • Real-time synchronization across all participants
  • Track who joined and who hasn't

Fair Splitting

  • Each person selects their items
  • Automatic calculation of individual totals
  • Support for shared items

Integrated Payments

  • Direct Revolut integration
  • One-tap payment to the bill owner
  • Possibility to choose cash if it's the case

History & Tracking

  • View past splits and receipts
  • Track spending over time
  • Activity dashboard

Preview

Dashboard

Dashboard Dashboard 2

Interface showing active rooms and join options

Bill Splitting

Bill with Revolut

Interactive bill view with Revolut payment integration

Recap & History

Bill Recap

Detailed breakdown of who ordered what and payment status

🛠️ Tech Stack

Frontend

  • React Native - Cross-platform mobile development
  • Expo - Development platform and tooling
  • TypeScript - Type-safe code
  • React Navigation - Navigation library

Backend & Services

  • Firebase Authentication - User management
  • Firebase Realtime Database - Live data sync
  • Firebase Cloud Messaging - Push notifications
  • Firebase Storage - Image and receipt storage

Key Libraries

  • expo-camera - Receipt scanning
  • expo-barcode-scanner - QR code functionality
  • react-native-qrcode-svg - QR generation
  • react-native-gifted-charts - Data visualization
  • react-native-ui-lib - UI components
  • @fortawesome/react-native-fontawesome - Icons

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Expo CLI
  • iOS Simulator (Mac) or Android Studio

Installation

# Clone the repository
git clone <your-repo-url>
cd itfest_2025

# Install dependencies
npm install

# Start the development server
npm start

Running on Device/Simulator

npx expo start

📂 Project Structure

itfest_2025/
├── src/
│   ├── components/       # Reusable UI components
│   ├── constants/        # App constants and config
│   ├── hooks/           # Custom React hooks
│   ├── navigation/      # Navigation setup and screens
│   ├── store/           # State management
│   └── wrappers/        # Context providers
├── assets/              # Images, fonts, and media
├── ios/                 # iOS native code
└── App.tsx             # App entry point

👨‍💻 Development

Key Screens

  • HomeScreen - Dashboard with active/past rooms
  • ScanScreen - Receipt scanning interface
  • RoomScreen - Collaborative bill splitting
  • RecapScreen - Final breakdown and payment
  • NotificationsScreen - Activity feed

State Management

The app uses React Context for global state management:

  • AuthContext - User authentication state
  • ScannerContext - Receipt scanning state

📱 Permissions Required

  • Camera - For receipt scanning
  • Photo Library - For receipt uploads
  • Notifications - For room updates and payment alerts

🎯 Hackathon Project

Built during ITFest 2025 - A functional prototype demonstrating real-time collaboration, modern UX patterns, and seamless payment integration.

📄 License

This project was created for educational purposes during a hackathon.

🙏 Acknowledgments

  • ITFest 2025 organizers
  • Revolut for payment API
  • Open source community

Made with ❤️ for ITFest 2025 w/ πratzii & co.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.3%
  • Objective-C++ 1.5%
  • Ruby 1.4%
  • JavaScript 0.4%
  • Objective-C 0.2%
  • Swift 0.1%
  • C 0.1%