Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
70823e4
Updated the database code for detecting changes in transaction
SaltMeister Mar 22, 2024
d69c608
idl
diegomtz5 Mar 22, 2024
9277f0e
Updated Code
SaltMeister Mar 22, 2024
ddf368b
yea
diegomtz5 Mar 22, 2024
97da8aa
Re added listener
SaltMeister Mar 22, 2024
a053ffa
yea
diegomtz5 Mar 22, 2024
572c63d
Merge remote-tracking branch 'refs/remotes/origin/newBranch' into new…
diegomtz5 Mar 22, 2024
b3ca649
changed function
SaltMeister Mar 22, 2024
02e01ce
Merge remote-tracking branch 'refs/remotes/origin/newBranch' into new…
diegomtz5 Mar 22, 2024
e45c2a2
Merge branch 'newBranch' of https://github.com/SaltMeister/bill-shari…
jlgvu Mar 22, 2024
c97e30d
DB API for Getting User Assigned Transactions
SaltMeister Mar 22, 2024
7f73d25
Added Comment
SaltMeister Mar 22, 2024
6fbe88e
merge
diegomtz5 Mar 22, 2024
fffbd9c
Merge remote-tracking branch 'refs/remotes/origin/newBranch' into new…
diegomtz5 Mar 22, 2024
df2a9be
Binding to State variable for logging out and dismiss
SaltMeister Mar 22, 2024
f92a8e9
Refactored Transaction View and How GroupDetailView handles selecting…
SaltMeister Mar 22, 2024
3bbbfb3
Removed Unncessary code
SaltMeister Mar 22, 2024
4e0d5d3
started with deleting items
diegomtz5 Mar 22, 2024
ed00a47
Resolved merge conflicts
diegomtz5 Mar 22, 2024
6fe127a
Merge pull request #13 from SaltMeister/newBranch
diegomtz5 Mar 22, 2024
04c69ed
Payments in transactions
diegomtz5 Mar 22, 2024
1e56766
fixed some bugs
diegomtz5 Mar 22, 2024
b5f290e
Users can bid on items
diegomtz5 Mar 22, 2024
d7c852e
Users can edit transaction name
diegomtz5 Mar 22, 2024
5802ad9
Minor Fix
diegomtz5 Mar 22, 2024
6f7c282
Update README.md
diegomtz5 Mar 22, 2024
dac0346
Update README.md
diegomtz5 Mar 22, 2024
d30aae2
Update README.md
SaltMeister Jun 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 36 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## What is our app
Our App is a simple bill splitter app that intents to use AI so that the user can take a picture of their reciept and split each item with all other members.

## Use Flow
Users will first login to their account and from there, they are able to create or join a group.

Groups will have all the users who are planning on splitting a bill.

The creator of the group will be able to take a picture of the reciept and automatically display a listing of all items, and their costs.
All members of the group will be assigned to each item which will be their split that they pay to the owner of the group.

Users will use Strip to make their payments.

## Specifications
Our code is structured where, we have a 2 files that help handle our database interaction, and our User specific data.
Expand All @@ -15,4 +27,27 @@ In the home view, the user can view their account that allow them to update thei

## Special Instructions

Our app uses the phone camera in order to function and as a result will need to be tested with an actual phone.
### App Testing Requirements
- **Camera Usage**: Our application requires access to the phone's camera to operate correctly. Ensure testing is on an actual mobile device with camera capabilities.

### Stripe Onboarding Test Data
Use the following dummy information for testing the Stripe onboarding process:

- **Test Phone Number**: Enter `000-000-0000` for any phone number fields.
- **SMS Code**: Use `000-000` when prompted for an SMS verification code.
- **Personal ID Numbers**:
- For successful individual verification, use `000000000` for the `individual.id_number` or the `id_number` attribute on the `Person` object. For SSN's last 4 digits, `0000` will work.
- **Business Tax ID Numbers**:
- Input `000000000` in the `company.tax_id` field for successful company verification.
- **Website Information**: Use `https://accessible.stripe.com` for website-related fields.
- **Address Validation**:
- Input legitimate values for `city`, `state`, and `postal_code` in the `address_full_match`.

### Payment Method Simulation
For payment testing, use the following mock credit card details:
- **Card Number**: `4242424242424242`
- **CVC**: Any 3-digit number
- **Expiration Date**: Any future date

Note: These values are for testing purposes only. Switch to real data for production.

30 changes: 12 additions & 18 deletions reciept bill splitter.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
32847F2A2B8D96C60061449F /* ScanReciept.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32847F292B8D96C60061449F /* ScanReciept.swift */; };
32847F2C2B8D96D50061449F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32847F2B2B8D96D50061449F /* ContentView.swift */; };
328EEB5C2B9199530021F461 /* DatabaseAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328EEB5B2B9199520021F461 /* DatabaseAPI.swift */; };
329A95DE2BADC39F0028FDEF /* AssignedTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329A95DD2BADC39F0028FDEF /* AssignedTransactionDetails.swift */; };
32A6DA972BA13C81005FAA2C /* JoinGroupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A6DA962BA13C81005FAA2C /* JoinGroupView.swift */; };
32B1A4BF2B828F9400A20FDD /* reciept_bill_splitterApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B1A4BE2B828F9400A20FDD /* reciept_bill_splitterApp.swift */; };
32B1A4C32B828F9D00A20FDD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32B1A4C22B828F9D00A20FDD /* Assets.xcassets */; };
Expand All @@ -26,8 +27,7 @@
36788E3F2BA50F22006925A6 /* GroupDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36788E3E2BA50F22006925A6 /* GroupDetailView.swift */; };
36E9BE642B86ACE00020BE12 /* SignUpLogInView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE632B86ACE00020BE12 /* SignUpLogInView.swift */; };
36E9BE662B86AD1C0020BE12 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE652B86AD1C0020BE12 /* HomeView.swift */; };
36E9BE682B86AD3F0020BE12 /* FriendsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE672B86AD3F0020BE12 /* FriendsView.swift */; };
36E9BE6C2B86AD5D0020BE12 /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE6B2B86AD5D0020BE12 /* HistoryView.swift */; };
36E9BE6C2B86AD5D0020BE12 /* AllAssignedTransactions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE6B2B86AD5D0020BE12 /* AllAssignedTransactions.swift */; };
36E9BE6E2B86AD6E0020BE12 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE6D2B86AD6E0020BE12 /* SettingsView.swift */; };
36E9BE702B86AD8D0020BE12 /* SplitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE6F2B86AD8D0020BE12 /* SplitView.swift */; };
36E9BE722B86B6240020BE12 /* SignUpView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E9BE712B86B6240020BE12 /* SignUpView.swift */; };
Expand All @@ -46,7 +46,6 @@
E591A68D2B9E8AD600AC1F5F /* StripePaymentSheet in Frameworks */ = {isa = PBXBuildFile; productRef = E591A68C2B9E8AD600AC1F5F /* StripePaymentSheet */; };
E591A68F2B9E8AD600AC1F5F /* StripePayments in Frameworks */ = {isa = PBXBuildFile; productRef = E591A68E2B9E8AD600AC1F5F /* StripePayments */; };
E591A6912B9E8AD600AC1F5F /* StripePaymentsUI in Frameworks */ = {isa = PBXBuildFile; productRef = E591A6902B9E8AD600AC1F5F /* StripePaymentsUI */; };
E5AB946B2BAAA75B00836C2E /* ManualTransactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5AB946A2BAAA75B00836C2E /* ManualTransactionView.swift */; };
E5E6F0D82BAD36A0004A0697 /* CreateGroupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5E6F0D72BAD36A0004A0697 /* CreateGroupView.swift */; };
/* End PBXBuildFile section */

Expand All @@ -55,6 +54,7 @@
32847F292B8D96C60061449F /* ScanReciept.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanReciept.swift; sourceTree = "<group>"; };
32847F2B2B8D96D50061449F /* ContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
328EEB5B2B9199520021F461 /* DatabaseAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseAPI.swift; sourceTree = "<group>"; };
329A95DD2BADC39F0028FDEF /* AssignedTransactionDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssignedTransactionDetails.swift; sourceTree = "<group>"; };
32A6DA962BA13C81005FAA2C /* JoinGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinGroupView.swift; sourceTree = "<group>"; };
32B1A4BB2B828F9400A20FDD /* reciept bill splitter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "reciept bill splitter.app"; sourceTree = BUILT_PRODUCTS_DIR; };
32B1A4BE2B828F9400A20FDD /* reciept_bill_splitterApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = reciept_bill_splitterApp.swift; sourceTree = "<group>"; };
Expand All @@ -68,19 +68,16 @@
36788E422BA7EEB3006925A6 /* CreateGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateGroupView.swift; sourceTree = "<group>"; };
36E9BE632B86ACE00020BE12 /* SignUpLogInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpLogInView.swift; sourceTree = "<group>"; };
36E9BE652B86AD1C0020BE12 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
36E9BE672B86AD3F0020BE12 /* FriendsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendsView.swift; sourceTree = "<group>"; };
36E9BE6B2B86AD5D0020BE12 /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = "<group>"; };
36E9BE6B2B86AD5D0020BE12 /* AllAssignedTransactions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllAssignedTransactions.swift; sourceTree = "<group>"; };
36E9BE6D2B86AD6E0020BE12 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
36E9BE6F2B86AD8D0020BE12 /* SplitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitView.swift; sourceTree = "<group>"; };
36E9BE712B86B6240020BE12 /* SignUpView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpView.swift; sourceTree = "<group>"; };
36E9BE732B86C18D0020BE12 /* AccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountView.swift; sourceTree = "<group>"; };
36E9BE752B86CAEA0020BE12 /* AddFriendView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddFriendView.swift; sourceTree = "<group>"; };
36E9BE852BA007F10020BE12 /* TransactionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionView.swift; sourceTree = "<group>"; };
E50B498E2BAA0A640080CEAB /* PaymentManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentManager.swift; sourceTree = "<group>"; };
E52146C82B9FE060007571A2 /* reciept-bill-splitter-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "reciept-bill-splitter-Info.plist"; sourceTree = SOURCE_ROOT; };
E52146C92B9FE12C007571A2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
E5AB94682BAAA47F00836C2E /* CreateGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateGroupView.swift; sourceTree = "<group>"; };
E5AB946A2BAAA75B00836C2E /* ManualTransactionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualTransactionView.swift; sourceTree = "<group>"; };
E5E6F0D72BAD36A0004A0697 /* CreateGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateGroupView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -145,17 +142,14 @@
36E9BE752B86CAEA0020BE12 /* AddFriendView.swift */,
32B1A4C22B828F9D00A20FDD /* Assets.xcassets */,
32847F2B2B8D96D50061449F /* ContentView.swift */,
36E9BE672B86AD3F0020BE12 /* FriendsView.swift */,
32E5E1882B8DA66C005BF4F4 /* GoogleService-Info.plist */,
36788E3E2BA50F22006925A6 /* GroupDetailView.swift */,
36E9BE6B2B86AD5D0020BE12 /* HistoryView.swift */,
36E9BE6B2B86AD5D0020BE12 /* AllAssignedTransactions.swift */,
36E9BE652B86AD1C0020BE12 /* HomeView.swift */,
32A6DA962BA13C81005FAA2C /* JoinGroupView.swift */,
32B1A4C02B828F9400A20FDD /* LaunchScreenView.swift */,
E5AB946A2BAAA75B00836C2E /* ManualTransactionView.swift */,
32B1A4C42B828F9D00A20FDD /* Preview Content */,
32B1A4BE2B828F9400A20FDD /* reciept_bill_splitterApp.swift */,
E52146C82B9FE060007571A2 /* reciept-bill-splitter-Info.plist */,
32847F292B8D96C60061449F /* ScanReciept.swift */,
E52146C92B9FE12C007571A2 /* SceneDelegate.swift */,
36E9BE6D2B86AD6E0020BE12 /* SettingsView.swift */,
Expand All @@ -166,6 +160,7 @@
32847F272B8D96B70061449F /* UIImageExtension.swift */,
32C3CD472B8711A700FB2BF1 /* ViewModels */,
E5E6F0D72BAD36A0004A0697 /* CreateGroupView.swift */,
329A95DD2BADC39F0028FDEF /* AssignedTransactionDetails.swift */,
);
path = "reciept bill splitter";
sourceTree = "<group>";
Expand Down Expand Up @@ -292,16 +287,15 @@
328EEB5C2B9199530021F461 /* DatabaseAPI.swift in Sources */,
E5E6F0D82BAD36A0004A0697 /* CreateGroupView.swift in Sources */,
32847F282B8D96B70061449F /* UIImageExtension.swift in Sources */,
36E9BE6C2B86AD5D0020BE12 /* HistoryView.swift in Sources */,
36E9BE6C2B86AD5D0020BE12 /* AllAssignedTransactions.swift in Sources */,
36E9BE6E2B86AD6E0020BE12 /* SettingsView.swift in Sources */,
36E9BE682B86AD3F0020BE12 /* FriendsView.swift in Sources */,
36788E3F2BA50F22006925A6 /* GroupDetailView.swift in Sources */,
32847F2A2B8D96C60061449F /* ScanReciept.swift in Sources */,
32847F2C2B8D96D50061449F /* ContentView.swift in Sources */,
36E9BE742B86C18D0020BE12 /* AccountView.swift in Sources */,
36E9BE762B86CAEA0020BE12 /* AddFriendView.swift in Sources */,
E5AB946B2BAAA75B00836C2E /* ManualTransactionView.swift in Sources */,
E52146CA2B9FE12C007571A2 /* SceneDelegate.swift in Sources */,
329A95DE2BADC39F0028FDEF /* AssignedTransactionDetails.swift in Sources */,
36E9BE702B86AD8D0020BE12 /* SplitView.swift in Sources */,
E50B498F2BAA0A640080CEAB /* PaymentManager.swift in Sources */,
36E9BE722B86B6240020BE12 /* SignUpView.swift in Sources */,
Expand Down Expand Up @@ -446,7 +440,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"reciept bill splitter/Preview Content\"";
DEVELOPMENT_TEAM = 3Y46278W32;
DEVELOPMENT_TEAM = S3PTQ97NTN;
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -463,7 +457,7 @@
);
MARKETING_VERSION = 1.0;
NEW_SETTING = "";
PRODUCT_BUNDLE_IDENTIFIER = com.jlvu;
PRODUCT_BUNDLE_IDENTIFIER = com.martinezdiego;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand All @@ -481,7 +475,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"reciept bill splitter/Preview Content\"";
DEVELOPMENT_TEAM = 3Y46278W32;
DEVELOPMENT_TEAM = S3PTQ97NTN;
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -498,7 +492,7 @@
);
MARKETING_VERSION = 1.0;
NEW_SETTING = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.jlvu-ucdavis.edu";
PRODUCT_BUNDLE_IDENTIFIER = com.martinezdiego;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand Down
Binary file modified reciept bill splitter/.DS_Store
Binary file not shown.
Loading