From ea035d22c1a182a9447385046dee4c881428b355 Mon Sep 17 00:00:00 2001 From: infrared92 <64934151+infrared92@users.noreply.github.com> Date: Sat, 15 Nov 2025 11:58:12 -0500 Subject: [PATCH 01/15] Update README with group members information Added group members to the README file. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d33a3a4..a955092 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# Bill-Splitting-App \ No newline at end of file +# Bill-Splitting-App + +Group Members: Amy Qian, Patricia Wan, Angela Jiang, Tan Tan, Katie Fruitman, Luxi Wang From 2d2c3cfc2f348f10d3522fedbc648be3c6a9501a Mon Sep 17 00:00:00 2001 From: SIRU TAN Date: Mon, 17 Nov 2025 15:58:24 -0500 Subject: [PATCH 02/15] Created template for categorization --- src/main/entities/Expense.java | 3 +++ src/main/view/ExpenseDesc.java | 10 +++++++++- src/main/view/ExpenseFrame.java | 24 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/entities/Expense.java b/src/main/entities/Expense.java index 60bdcf5..91146fc 100644 --- a/src/main/entities/Expense.java +++ b/src/main/entities/Expense.java @@ -9,6 +9,7 @@ public class Expense { private String description; private User paidBy; private List participants; + private String category; // stores what category the expense should be public Expense(String id, double amount, String description, User paidBy) { this.id = id; @@ -35,4 +36,6 @@ public double calculateEqualShare() { if (participants.isEmpty()) return 0; return amount / participants.size(); } + + public String getCategory() { return category;} } diff --git a/src/main/view/ExpenseDesc.java b/src/main/view/ExpenseDesc.java index a550028..a1a58d5 100644 --- a/src/main/view/ExpenseDesc.java +++ b/src/main/view/ExpenseDesc.java @@ -2,6 +2,7 @@ import javax.swing.*; import java.awt.*; +import java.util.Map; public class ExpenseDesc extends JFrame { @@ -10,6 +11,8 @@ public ExpenseDesc() { } private void initializeUI() { + + setTitle("Add Expense"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500, 300); @@ -20,11 +23,14 @@ private void initializeUI() { JTextField descField = new JTextField(10); JTextField participantsField = new JTextField(10); + String[] options = {"Utility", "Food", "Gifts"}; + JComboBox comboBox = new JComboBox<>(options); + JButton submitButton = new JButton("Submit"); // Simple panel with components JPanel panel = new JPanel(); - panel.setLayout(new GridLayout(8, 1, 10, 10)); + panel.setLayout(new GridLayout(10, 1, 10, 8)); panel.add(titleLabel); panel.add(new JLabel("Amount:")); @@ -33,6 +39,8 @@ private void initializeUI() { panel.add(descField); panel.add(new JLabel("Participants:")); panel.add(participantsField); + panel.add(new JLabel("Category")); + panel.add(comboBox); panel.add(submitButton); add(panel); } diff --git a/src/main/view/ExpenseFrame.java b/src/main/view/ExpenseFrame.java index 06e79e1..2b6bbc5 100644 --- a/src/main/view/ExpenseFrame.java +++ b/src/main/view/ExpenseFrame.java @@ -4,6 +4,7 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.Map; public class ExpenseFrame extends JFrame { @@ -12,6 +13,14 @@ public ExpenseFrame() { } private void initializeUI() { + // Temporary store the mapping from expense to color + Map Expenses = Map.of( + "rent", "RED", + "food", "GREEN", + "util", "ORANGE", + "other", "BLACK" + ); + setTitle("Bill Splitter - Group 14"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(600, 400); @@ -19,6 +28,19 @@ private void initializeUI() { JLabel welcomeLabel = new JLabel("Split Expense Here", JLabel.CENTER); JButton fixedExpense = new JButton("Fixed Expense"); + JButton temporaryExpense = new JButton("Temporary Expense"); + + String category = "rent"; // The category of the expense should be displayed here + String colorName = Expenses.get(category); + Color color = Color.BLACK; + + try { + color = (Color) Color.class.getField(colorName).get(null); + } catch (Exception ignored) {} + + temporaryExpense.setForeground(color); + + // Simple button listener fixedExpense.addActionListener(new ActionListener() { @@ -34,6 +56,8 @@ public void actionPerformed(ActionEvent e) { add(welcomeLabel, BorderLayout.NORTH); add(fixedExpense, BorderLayout.CENTER); + add(temporaryExpense, BorderLayout.SOUTH); + } public static void main(String[] args) { From 491493d1d1b90ff8a87977f8b911fc10b410ea3d Mon Sep 17 00:00:00 2001 From: amyjq Date: Mon, 17 Nov 2025 22:35:17 -0500 Subject: [PATCH 03/15] changed participants to checkbox menu --- .idea/compiler.xml | 13 ++++++ .idea/encodings.xml | 7 +++ .idea/jarRepositories.xml | 20 ++++++++ .idea/misc.xml | 12 +++++ .idea/modules.xml | 8 ++++ .idea/vcs.xml | 6 +++ .idea/workspace.xml | 44 ++++++++++++++++++ src/main/view/ExpenseDesc.java | 41 ++++++++++++---- target/classes/main/entities/Expense.class | Bin 0 -> 1761 bytes target/classes/main/entities/Group.class | Bin 0 -> 836 bytes target/classes/main/entities/User.class | Bin 0 -> 994 bytes target/classes/main/view/ExpenseDesc.class | Bin 0 -> 3416 bytes target/classes/main/view/ExpenseFrame$1.class | Bin 0 -> 839 bytes target/classes/main/view/ExpenseFrame.class | Bin 0 -> 3094 bytes target/classes/main/view/MainFrame.class | Bin 0 -> 1651 bytes 15 files changed, 141 insertions(+), 10 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 target/classes/main/entities/Expense.class create mode 100644 target/classes/main/entities/Group.class create mode 100644 target/classes/main/entities/User.class create mode 100644 target/classes/main/view/ExpenseDesc.class create mode 100644 target/classes/main/view/ExpenseFrame$1.class create mode 100644 target/classes/main/view/ExpenseFrame.class create mode 100644 target/classes/main/view/MainFrame.class diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b402903 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d4ba39c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0f41f74 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..75bab78 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/view/ExpenseDesc.java b/src/main/view/ExpenseDesc.java index a1a58d5..9893aba 100644 --- a/src/main/view/ExpenseDesc.java +++ b/src/main/view/ExpenseDesc.java @@ -11,37 +11,58 @@ public ExpenseDesc() { } private void initializeUI() { - - setTitle("Add Expense"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setSize(500, 300); + setSize(500, 400); setLocationRelativeTo(null); - JLabel titleLabel = new JLabel("Enter Amount and Description and Participants ", JLabel.CENTER); + JLabel titleLabel = new JLabel("Enter Expense Details", JLabel.CENTER); + JTextField nameField = new JTextField(10); JTextField amountField = new JTextField(10); JTextField descField = new JTextField(10); - JTextField participantsField = new JTextField(10); String[] options = {"Utility", "Food", "Gifts"}; JComboBox comboBox = new JComboBox<>(options); JButton submitButton = new JButton("Submit"); - // Simple panel with components + // Create checkboxes for participants + JLabel participantsLabel = new JLabel("Participants:"); + JCheckBox participant1 = new JCheckBox("Amy"); + JCheckBox participant2 = new JCheckBox("Katie"); + JCheckBox participant3 = new JCheckBox("Tan"); + JCheckBox participant4 = new JCheckBox("Patricia"); + JCheckBox participant5 = new JCheckBox("Lucy"); + JCheckBox participant6 = new JCheckBox("Angela"); + + // Panel for checkboxes with grid layout + JPanel participantsPanel = new JPanel(); + participantsPanel.setLayout(new GridLayout(3, 2, 5, 5)); + participantsPanel.add(participant1); + participantsPanel.add(participant2); + participantsPanel.add(participant3); + participantsPanel.add(participant4); + participantsPanel.add(participant5); + participantsPanel.add(participant6); + + // Main panel with components JPanel panel = new JPanel(); - panel.setLayout(new GridLayout(10, 1, 10, 8)); + panel.setLayout(new GridLayout(0, 1, 10, 8)); + panel.setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20)); panel.add(titleLabel); + panel.add(new JLabel("Expense Name:")); + panel.add(nameField); panel.add(new JLabel("Amount:")); panel.add(amountField); panel.add(new JLabel("Description:")); panel.add(descField); - panel.add(new JLabel("Participants:")); - panel.add(participantsField); - panel.add(new JLabel("Category")); + panel.add(new JLabel("Category:")); panel.add(comboBox); + panel.add(participantsLabel); + panel.add(participantsPanel); panel.add(submitButton); + add(panel); } diff --git a/target/classes/main/entities/Expense.class b/target/classes/main/entities/Expense.class new file mode 100644 index 0000000000000000000000000000000000000000..a7e932b1ca66c13ce13790df48bffa8920b79e2e GIT binary patch literal 1761 zcmZ`)ZF3q`6n^dkAtVcJ2zepV)MyidXz`_5m6)1_RMXOz8EhQ=;LOdkLvJMuE{kLR z1Ag_Z{)y_0Os6{I5Aa7hK4)2h()G)|=bpXKdCqyxx$yTtfBXgD8tyE>LL!Z%jTGh- zE1s!N?drX=N3Ihn%3ZT{v9XFZ zUhiqsy75?{(0HEoLErUjX%rQfL%u;^I@Lqp*N+>fA1q)U35oNPjhC^dVE42i7{~Oq z7xY>1D9I2c_iKxI1>0%7YU4FrR>)0a%4danr|Si*n%I@nRD~nCYUQsaz^;wg1)b2X zmYmBrD%evUzE3P<;eWc#*_cSMbOM+a`Z>l2Y_nzpBd zfzNBZGgw3g*q=@@YC?S~>&O)cFP}22qi&0I7aGQM?+(t-T>o=@)}bfg=sLP{ zs(mBp$e9ct8p^UZ6D^twW|L~W!3ig$P%6Ke11sd`!)PcdM4jr>Q=iPk=*s>O9VJX)5#qHyQ433on| zaOapq;oZ=_%6l9n+8O#%c#rG*JpF_OV*$IBr%;u>A<~u75ZOvGImA+>m>Qx``4j73 zKE=imo4!DdX+qkj1Tbvu7xC{fT@T?;bR<(!PXd@eKG@Hj|E?k zWnP+PF2;gC!Qq&Bl6GMhyb%k&fg=_t9ht6qa~8ZA10FTFPVQsej57F|!9?C7h1=YF zhD#QHK`uJ%SolIZnFz(qahHB(afv^X+abZ~2t4jw5uZ|Sh0j8iTBmt3*7*V3C;ixx z@Xt_E_!+6(6P~go&l?IqcBKI$LiwiwE^}mdrmESB$RdgyL*9z*##^(Rl%}Fg=HNCt HEHwTF;m|)y literal 0 HcmV?d00001 diff --git a/target/classes/main/entities/Group.class b/target/classes/main/entities/Group.class new file mode 100644 index 0000000000000000000000000000000000000000..5032a72dc3aa8958af2ef15facffbb79d7d3e1d4 GIT binary patch literal 836 zcmah{TTc@~6#iygSh}wC28yVNiqJ0T`o=>EiSeFPc&IkM;X7F5?U{b+3cBf&V1)PxB2n&>vsVAc<8}F!9~%>0u}`-XYzv#hcX(3$GtPv z&jc0^bfmLGfkLC%Enx{I7oLwR@CE84siROuna;FI!z?PL}9s z&@v3mKFTJ%WPwL=q+C?VX2E%;hvAbXk)PT+%{)|4Ffl7WR&kBwBQ@%&BxS8ra*H=m zOTFgfhJh`qk7E_3Ds^#FpgLoICDYS4a_nJ!%Dds?4mKIklWe=MNL-#HCbY#uJ9-ew zEKiic_S~&Wd(i%U2=7vrvWsy{&HJK>L@oud@IRfwiNf}uqzX7>L1U;zWO+cj&4|w^@Bm`S2rxB3_V?kfMTA$h(uC!c~q_*)IGokcg0Y z;0N%d5VLk@P-7%?(%s(P&g|^m&tKnv0Cr^tO&rj$3jeLjo&Gbbh@JUK7kN6MZuGc&yhVJs zczXUfDF49{j{k6pmj7sp&X*ju%e_wo$ZVm`)xb8ndt~b~>lb)j!ya#B%KNH3lFp*W zlOLoeh3mMn>KyQts+#{5&SwS{NGm%}wsUH?C|FS|+$;sRu7W$I;9I5O&QUG$j5=i`Tg+;$Eh=>Pa&*6_xU|I1zd**_FX#Eo>Vn7n2hUyFC_D$H!)!RQS31nS I-0b_m0d7N*CfsVx zbxg;n4+`$xoScHOVA?A7QrRiTH@)@P1}074u0NGg9=`gS>%^>Yi?%yJmFYLe=s$9L1>A)2reG z0$t|~&$r4}&2apBUM65v!3VcEan&qerxPm1*-~TGWeq1Ws^SzKf0UIlRh;I*oIz95 z?2q#XJE3eDDjsE!g+`g-&d`N1XOWdtaBg#D&Kr(tYnYXdeIW`WCo6i|vnmB+*=^AA z$1o=yzsMxAJHq~$#U&k&qa@HF`y-GP*d6PMkT+vE#-iy3y*Z1^I-bOb=&@0$2xMc@ zu?`AT+}c(eK7x-bFmx<{kjcc8J??rH)0;BNzUwUu^p-u-@Xb@zn!g+#3G5C14m7Vr zb|JWy3q?j{4on?auoyt=zLygO(O=Ea7-a0(=(6Q9)aDLf^hv7GZ(-J&@;D4rOe z=Q80|xa%ocjyc%>ITGxsFwqgMxIw<@$o4pBqftq$lp}ykPvdz!yN-OS z*XsdxLo^edt%4z&V!gE(n4`G#81L{_8xgRjjhG;(P<(r&b^B23mIEm+d~}l^0kpT| zH{jB08wZbRv(Z{BxLjMW;(^v!*OPKQV7GjBPEcJ^)_U`R-1sc<-0&7ziZ0uzE>w&` zDLu&Ps}v%cX{X)Yp z@w$Rv>39Rb7T726h8~6x$Q1&sRAF3MpAwzb`0lUqk4|(cw0OpFDz;f4EV%CVMs0L! z^f6A$#W|)jF8==?h9=+rZhSgKnkNj~E?T}RTWZ>IOmD(A>UERfw%-Ws-;$HNg{R* z-07h(K8w!1?m~cdxkJM1NK^v1<)`O6h^bD)trD zu)mbjR&oE#1~t1u<&*7y#BeE*K2R(r(}#+swsfwTZ(GCRQl@PcNAm4!I9f_SvWk3O z36vgR#fiMShLffA*eWLS9RWEhNi86!B-t5|XC$cyS#XC)2Zr z$4c#Os=A6|6Z4s#Oh*$>T;i%lYiG1F+JN5`t=)26SCq=6q@qMJrKQ$YrAY6Pe{bQ# zO;j?e1HnxSGCfxrNw_^2<6hg~9*S}84Q?hGV>@@)ECPK?Wz=ZxiB?6f*-Wa5+9g@= zL{RWIaDa3-OWMP7r_jfO?!tCH*mfYt-7)lIl5fxwGN@oTTt0+u;a)t00o-PXy@Y*u z758BUgZKmP$Dc8TzhM}EM;8B}?tkGR-oYXKhp)Oe92VVt$PM6#c#zMv5gZj$7!fmg zL_EotSQ&ZYVN~40aq%qQV9(=(cmXHH%Y1je#s}7$mM3!Qk{5JbmH5jbgU3U-yzk-xZlBdNp&;&f8qtah#toI6Xxbc zX7qc^uY^!&_4~Bifgj+9A%ys|CBov{_!#gO8h5ZLf6f3?bZNQ;hd*KvNNIAoMoNYv zn6txG_VUNs8K01PL{Q>T&uKb;h6(vG`P=B+Pb0TpBkvWK@D;pCj>bDH_$_{q%>Mu) C8gcLd literal 0 HcmV?d00001 diff --git a/target/classes/main/view/ExpenseFrame$1.class b/target/classes/main/view/ExpenseFrame$1.class new file mode 100644 index 0000000000000000000000000000000000000000..cf20604cdc8882179e4ac2830a087acd83a03197 GIT binary patch literal 839 zcmaKqZBG+H5Xb-99=-NB+tNxw9>j;LZBY(P)E6}*21_KVK%zF$ciZa-ORjh1_9(_z zekBuyL=!)NAIdm;5GAp=$<6F-e*2%}{C3uL(G?eq`GPgvur3RSW$ zkZm-34vHw*D7%<4cx}9@fIU$9Fw$hBDlq*I^_;Ztpn`%iH5W6O6>u~qJ*8DYAOWlK zuGzCOC$N~NB##r1MieIAGe1#L*i|~AkYa)P#$|77_E={l8n9fct3uj78ulrEEz(Em2&C4eaf9b54}ohC<+7P29KBn^^dW3K;vso_Ax`yAoGR+L!=e`MGMm9YG}v1_q)jZRCq>+6?=WND!Rt4it+_J* literal 0 HcmV?d00001 diff --git a/target/classes/main/view/ExpenseFrame.class b/target/classes/main/view/ExpenseFrame.class new file mode 100644 index 0000000000000000000000000000000000000000..9ec36eee388bc582d361c875191e432a242cba68 GIT binary patch literal 3094 zcmc&$Yj+#f72VgCJ!5$s+v6m}NeNDH5?jF$X+zUk;bF^<*vLw;9VZSA$ymC!CmGME zqmduYkiX~!Ld?QPlJ9FopbI;j(pELgN z|3CX2z;XOLjs`Sph#6=?vw(ToTD8`b#WmYqN=}aX)`}EpK54slaF0M^U;kVjI$AWu z4YVqUohz2@CRc5_mKCqwzzmSaCG&rIlO6NvfJ4Ro|K&h+Srj!teZdR|^f zmq63_^yp|-#}00m0^8AX3lBa$J(L|E)zM7@FIbkojy=2`&J3mRZ^fWh)gxikAa!xN?mboDH{qFQvj<4pK(s8@Mu3_78dS(ia9R$+v z8R!}Jy;7m)=rINM0RsndNI);jVAc*C60)PVteL^%!o7|k&9Nz3DS;N zl&1^Qw*uR932)y-#dg5J5hMjP+Rl(B0^2tcy*p~)hxids;=7EO3tgwB!*x~8dIGmZ z8CYvUGVQGtJeS-u2Mu?9T|^mcL6Xkn+z%`4iFDF)O8PR6V>qF-H%KXMQ5DnCa8jVF zPM5=_An;rrlw{kOy)N_Bm~o_Vp9*(K$FM->tYm7wpfsRcvRZwriB<|OcF|Y?y0^7p(6-*q@r$dG98#}2uPUEK<9xyPC8G-iA zfN94n7RfS`8ndO77Z|9`tjcnYdVRU*P|(THoRQC9M8h1p*$i4|qTyTwWHPL5bUh~v zN)rmT^9CNo&xj`pAM<>WLNmkadu3^K#!}x{3Zk20wyw0d0dxisxb5fG}R@+_muE>nVvo<>{r0Pbz zO6NAJl74OA5j-joCu4JV(dKcgxzG1g0#LZBt*QJ2~9Q`HpSlaBg2Hwx8S@2XG#4!Scn^Qm@OK0M z!24{cP2?&%OJ>3(7{Xe#azTi1>q_m@|7r(N5`Si(6giyHnZaNs6Pwkl7*Bnx0xNLX>K=nn!C*1*YJZ(!rWg*Z=$)3zC>rkxlZwX8FwT^ z8FyaCv3c{yjaTuLsq0A1n|EKuz1i??h?z+}-pk(hc|m zuM^LAad!ySGyx$T5mejp9G=8eJoyAJ<9GNyK~Ccm{(wIc<}AOGPxCIu6CS`bc$N%Z z#0Y(!CBS*yi{~)~4S!-pML{LnpLzEJcMhQ8OBSPR>UXP#V;WN7Z(IX^lMoutavePcJ-$>a38Zz*HQj5UI9Ads*j@}eW4{Yx(EVE26I{ AsQ>@~ literal 0 HcmV?d00001 diff --git a/target/classes/main/view/MainFrame.class b/target/classes/main/view/MainFrame.class new file mode 100644 index 0000000000000000000000000000000000000000..4fbcc1cb713ada0d07de9a86245e1cb714a97480 GIT binary patch literal 1651 zcma)6+j1L45IrL)T6wd+$#+AH9Bhy`7bOrdpb&_aI8j(9V99m@Ph)G63|Z}L?T+k( zui#gBk*TDL51{xaik{sqTPCVh9yFtw>F#s-bZ`It@9Vz+tmCnb9P$lv-6%56jGLZTfL%zDUYomk_3$}yv#$l?w zAL0Tb(VM3Z64!0v(|#!0ieWBez>jpTp}L_8M4*X-g^&KPlgIakU&1oOg+1XPsII7J zRXLmS?J!)nv4oF}(kl$JLlVrGed6F#R7q~$=`gs%d8G23C0C}Jx(+VkGC4;*Qew8c zHlX8nF9`U)FX}d~qGsWmgX{Q=VR5kPEmQj)EvZsc#0=+UaHw7gk5k=FRY~e{5-(Ld zZ)*94gD=ZZ0sLJaNpsFF3;MYv z{26aZi`5yNqg3ide1_>H&y&_oZpo@(oQ)2@4CrvuPxQ{CX9O}e$wnnnsle4jReHv$2JT79KhH z5kE0pJniyS=bD#bQV9N(A7~Z5q7rlmPyY;dPUe&%-seHb7x9Xx)QetNe>>xWn=_8> zSD_d*fB(l6^4-3JEto}aaNlo9EleGoK_H@r&*NCc7TOG}Z)q|tJqy%POYb(N*_CR6 zWhz3BJ`bP(ngS@&`W2n(v@_aA++#4e59<#)q|ea_Pf_G}tI!(JtiZ*hyzNAMlK&seO}o}}{{YrvnlatdK4JupY9 zES^c_Ha36>+w^A^q?%X~oi`{wImYLOK5m#eERiLRGfy-ZNT54(pTk{jCiEG8pu2mx QPrq%tvB{@}9qeJ@KU>j{O#lD@ literal 0 HcmV?d00001 From 7f33d80eddc23291713e2c42c87508908f5ba1ed Mon Sep 17 00:00:00 2001 From: amyjq Date: Tue, 18 Nov 2025 11:52:08 -0500 Subject: [PATCH 04/15] added .iml file --- bill-splitter-app.iml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 bill-splitter-app.iml diff --git a/bill-splitter-app.iml b/bill-splitter-app.iml new file mode 100644 index 0000000..abe781f --- /dev/null +++ b/bill-splitter-app.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 019623647455ac98cca389484a9cc87dab16728a Mon Sep 17 00:00:00 2001 From: amyjq Date: Tue, 18 Nov 2025 11:53:05 -0500 Subject: [PATCH 05/15] added .xml file --- .idea/workspace.xml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 75bab78..5ede060 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,9 +4,7 @@