1 of 25

Romeo Hong

Alex Li

Andriy Luchko

Phuykong Meng

Eric Zhang

slidesmania.com

2 of 25

Never use a calculator in a restaurant again

slidesmania.com

3 of 25

Members

01

02

03

04

05

Romeo Hong

Alex Li

Andriy Luchko

Phuykong Meng

Eric Zhang

slidesmania.com

4 of 25

Romeo

Responsibilities:

  • UI
  • Login page
  • Guest Option
  • Logout

slidesmania.com

5 of 25

Alex

Responsibilities:

  • UX Design (Figma)
  • Work on Training Model (OCR)
  • Dashboard

slidesmania.com

6 of 25

Andriy

Responsibility:

  • Auth Functionally
  • Frontend UI + functionality
  • Tab pathing
  • Moving to react-native

slidesmania.com

7 of 25

Phuykong

Responsibility:

  • OCR Model
  • Camera Implementation
  • Frontend UI
  • User Form

slidesmania.com

8 of 25

Eric

Responsibility:

  • Backend Development
  • Diagrams
  • Calculations

slidesmania.com

9 of 25

Meetings/Communication

  • Met in person as needed after or during class
    • 20-40 minute discussions
  • Scrum meetings on Fridays
    • 15 minutes
  • Prompt messaging via Discord
    • Pull request updates
    • Branch updates
    • Testing branches
  • Team call via Discord
    • Voice call to clear up issues

slidesmania.com

10 of 25

Romeo

Learned

  • Scrum
  • React-native
  • npm
  • Github

Resources

Free Code Camp NPM

slidesmania.com

11 of 25

Alex

Learned

  • Agile Development
    • Sprints
  • Mobile
  • UX Design

Resources

Figma for beginners

slidesmania.com

12 of 25

Andriy

Learned

  • React Native
  • Swift
  • Tab Navigation - Expo
  • Firebase
  • comms/specs

slidesmania.com

13 of 25

Phuykong

Learned

  • Scrum Master
  • Azure Cloud Service
  • React Native

slidesmania.com

14 of 25

Eric

Learned

  • Sprints/Boards
  • Mobile Dev
  • React-Native
  • Expo go

Resources:

Mosh

slidesmania.com

15 of 25

Technology Stack

Frontend

Backend

  • React Native
  • Firebase
  • Microsoft Azure

slidesmania.com

16 of 25

Timeline of SplitDiff

Week 1

Week 2

Week 3

Week 4

Week 5

Firebase

Scan Receipt

Cross Platform

Person/Items

Bill Editor

Setting up our backend and allowing users to set up accounts

Accessing camera, uploading images, and scanning receipts

Switching codebase from Swift to React-Native

Presenting items, adding/removing personas and choosing items for each persona

Splitting the bill and presenting the results

16

slidesmania.com

17 of 25

Week 1 - Firebase

  • Why use auth services?
  • Implementing in swift vs react-native
  • Provided password rules
  • Setting up project

slidesmania.com

18 of 25

Week 2 - OCR Model

  • Uses Azure Pretrained Custom Receipt Model
  • Key Benefits:
    • Merchant information extraction
    • Easy integration via REST API
    • Line item detection with prices
    • Multi-language receipt support
    • Handles crumpled and skewed receipts

slidesmania.com

19 of 25

Week 3 - Cross Platform

  • IOS vs Android
  • React-Native vs Swift
  • IOS on windows

- Can’t emulate IOS on windows�- "Apple's software license for macOS only permits the software's use on "Apple-branded Systems" Source

slidesmania.com

20 of 25

Week 4 - Learning React-Native

  • Many moving parts
  • Can’t directly edit rendered components in react-native
  • Have to manage states through useState or useEffect which trigger rerenders
  • Free Code Camp useState and useEffect

slidesmania.com

21 of 25

Week 5 - Blockers

  • Backend conflicts on assigning personas to items
  • Trying to get expo to work on windows laptop
  • Splitting up the calculations
  • Merge Conflicts

slidesmania.com

22 of 25

Code Showcase

The most important lines

slidesmania.com

23 of 25

Demo our an app

Please use Expo Go to run our application.�https://github.com/cis3296f24/SplitDiff

slidesmania.com

24 of 25

Work in Progress Features

Camera Features:

  • Currently Xcode only, could do a subscription work around. (Apple Dev Cert)

Spend Analyzer

  • Using Firebase to save receipts, calculate trend spending.

slidesmania.com

25 of 25

Thank you!

Do you have any questions?

slidesmania.com