Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEATURE: Seamless Bill-Splitting and Expense Management #127

Open
vivekmodi23 opened this issue Apr 10, 2024 · 14 comments
Open

FEATURE: Seamless Bill-Splitting and Expense Management #127

vivekmodi23 opened this issue Apr 10, 2024 · 14 comments
Assignees
Labels
enhancement New feature or request

Comments

@vivekmodi23
Copy link

Describe the Feature

Our bill-splitting application revolutionizes the way users manage shared expenses among friends, roommates, colleagues, and groups. With a user-friendly interface and robust features, our app simplifies the process of splitting bills, tracking expenses, and settling payments, ensuring transparency, efficiency, and convenience for all users.

Key Features:

  1. User Registration and Profile Creation:

    • New users can easily sign up and create their profiles within the app, providing essential details such as name, email, and password.
  2. Friend Management and Group Creation:

    • Users can connect with friends and organize them into groups for managing shared expenses related to various activities, events, or living arrangements.
  3. Expense Tracking and Management:

    • Users can add bills with details such as amount, description, and participants, facilitating transparent tracking of expenses within groups.
  4. Flexible Bill Splitting Options:

    • Our app offers flexible bill-splitting options, allowing users to split bills equally among all group members or allocate expenses selectively based on individual contributions or preferences.
  5. Convenient Payment Options:

    • Users can settle bills seamlessly through integrated payment methods such as QR code scanning or UPI payments, eliminating the hassle of manual transfers and external payment platforms.
  6. Real-time Payment Updates:

    • Instant notifications and updates keep users informed about payment statuses, ensuring transparency and accountability throughout the billing process.
  7. Expense Insights and Analytics:

    • Users can gain valuable insights into their spending patterns and trends over time, enabling informed decision-making and better budget management.
  8. Reminder Notifications:

    • Gentle reminders alert users about pending payments and overdue bills, helping them stay on top of their financial commitments and avoid late fees.
  9. Expense Approval Workflow:

    • Group members can review and approve shared expenses before they are finalized, ensuring consensus and transparency within the group.
  10. Multi-Platform Accessibility:

    • Our app is accessible across multiple platforms, including web, iOS, and Android, enabling users to manage expenses seamlessly across devices.

How It Works:

  1. Creating a Group:

    • Users can create a new group and add members by inviting friends or contacts within the app.
  2. Adding Expenses:

    • Group members can add expenses, specifying details such as the amount, description, and participants involved.
  3. Splitting Bills:

    • Users can choose from various bill-splitting options and allocate expenses according to individual shares or preferences.
  4. Settling Payments:

    • Group members can settle bills using the integrated payment methods, ensuring timely and secure transactions within the app.
  5. Tracking Expenses:

    • Users can monitor their expenses, view payment histories, and gain insights into their financial activities through interactive dashboards and reports.

Overall, our bill-splitting app offers a comprehensive solution for managing shared expenses, fostering collaboration, transparency, and financial accountability among users.

Use Case

  1. User Registration:

    • Primary Actor: New user
    • Scenario: A new user installs the app and wants to create an account.
    • Use Case: The user registers by providing necessary details such as name, email, and password.
    • Outcome: The user's account is created, and they gain access to the app's features.
  2. Friend Management:

    • Primary Actor: Registered user
    • Scenario: A user wants to add friends to the app.
    • Use Case: The user navigates to the friend management section and adds friends by searching for their usernames or email addresses.
    • Outcome: The user successfully adds friends to their friend list and can now engage in bill splitting with them.
  3. Group Creation:

    • Primary Actor: Registered user
    • Scenario: A user wants to create a group for managing shared expenses.
    • Use Case: The user initiates the group creation process, gives it a name, and adds selected friends to the group.
    • Outcome: The user successfully creates a group, and it appears in their group list for managing shared expenses with group members.
  4. Bill Creation with Photos:

    • Primary Actor: Group member
    • Scenario: A group member wants to add a bill to the group.
    • Use Case: The user adds a new bill, enters bill details (amount, description), attaches a photo of the receipt, and selects who participated in the expense.
    • Outcome: The bill is added to the group's expenses with all necessary details, including the receipt photo for reference.
  5. Flexible Bill Splitting Options:

    • Primary Actor: Group member
    • Scenario: A group member wants to split a bill among group members.
    • Use Case: The user selects a bill to split, chooses the splitting method (equal split or custom split), and selects the participants.
    • Outcome: The bill is split according to the chosen method, and each participant's share is calculated and displayed.
  6. Payment Tracking:

    • Primary Actor: Group member
    • Scenario: A group member wants to track payments for a bill.
    • Use Case: The user views the bill details and marks payments as received from group members.
    • Outcome: The payment statuses are updated, showing who has paid and who still owes money for the bill.
  7. Reminder Notifications:

    • Primary Actor: System
    • Scenario: A bill payment deadline is approaching.
    • Use Case: The system sends a reminder notification to group members who haven't paid their share of the bill.
    • Outcome: Group members receive timely reminders to settle their outstanding payments, reducing the likelihood of overdue bills.
  8. Dashboard for Expense Overview:

    • Primary Actor: Group member
    • Scenario: A group member wants to view their expenses and outstanding balances.
    • Use Case: The user navigates to the dashboard section, where they can see an overview of their monthly or overall expenses, including outstanding balances and payment statuses.
    • Outcome: The user gains insights into their financial commitments within the group and can plan their budget accordingly.

9.Expense Categories::
-Description: Allow users to categorize expenses for better organization and tracking.
-Use Case: Users can assign expenses to predefined categories such as food, transportation, utilities, etc., or create custom categories.
-Outcome: Provides users with a structured overview of their spending habits and allows for better budget management.

10.QR Code and UPI Integration:
-Description: Allow users to settle bills by sharing their QR code or UPI ID directly within the app.
-Use Case: Users can add their QR code or UPI ID to their profile settings, making it accessible to other group members when settling bills.
-Outcome: Enables seamless peer-to-peer payments within the app without the need for external payment gateways. Users can scan each other's QR codes or enter UPI IDs to transfer funds securely.

Additional Information

No response

Suggested Tools

  • Node JS
  • MongoDB
  • Express JS
  • Api Testing [Postman]
  • Api formating [Swgger]

Additional Context or Information

No response

@arnb-smnta
Copy link
Contributor

arnb-smnta commented Apr 13, 2024

Its sounds really interesting i would like to work with you on the project if it is approved

@jwala-anirudh
Copy link
Collaborator

Hi @vivekmodi23,

When you say the following, are you referring to any pre-build app? Or is it GPT generated text

Our bill-splitting application revolutionizes the way users manage shared expenses among friends, roommates, colleagues, and groups.

Anyways, from the 10 listed features which I think you want to implement; Can you give us a detailed DB design diagram with the following list of details? (Note: we are using mongodb)

  • Entities
  • Model schemas
  • Relationships (if any)
  • Indexes that you will use
  • Aggregations (if any)

Followed by this can you also give us a walkthrough of endpoints that you plan to prepare, specify:

  • Response structure
  • Routes
  • Error handling
  • Response codes
  • Private/Public
  • and any other details if I missed to mention here

Thanks.

@vivekmodi23
Copy link
Author

Hi @jwala-anirudh,
Apologies for any confusion. Just to clarify, this won't be a pre-built app; I'll be developing it from scratch. I'll share all the necessary details with you. @arnb-smnta, let's work on building it together.

@arnb-smnta
Copy link
Contributor

arnb-smnta commented Apr 14, 2024

@vivekmodi23 will love to collaborate on it arnub_sama this is my discord handle ping me up
BTW after reviewing your issue I dont think it is possible to make all the api's like upi integration and expense analytics have you done it before and also can you please discuss about the algorithm behind the splitting of expenses betweeb members and how to settle them member wise,I was trying to come up with the data models but couldnt quite get the splitting mechanism and how to handle them

@arnb-smnta
Copy link
Contributor

arnb-smnta commented Apr 18, 2024

@jwala-anirudh I really like the idea of the app i will initially like to work on the backend I am trying to make the initial backend structure of it did not quite figure out the logical parts of settlement but if you give heads up I can definitely figure it out you can see the initial rough setup over here no code is written yet https://app.eraser.io/workspace/MGWzeKrwBcDWBmOpKKlD?origin=share

I have given the data models and initial idea of routes for backend if you give heads up I will try to come up with the algorithm for payment settlements within a few days

@jwala-anirudh
Copy link
Collaborator

Please collaborate with @vivekmodi23 while you work on this, so that both of you are on same page

@vivekmodi23
Copy link
Author

@arnb-smnta sorry for the delay. Due to some emergency i was not able to connect with you. Give me time till Monday. Will connect on Monday.

@arnb-smnta
Copy link
Contributor

@vivekmodi23 are u going to connect today

@arnb-smnta
Copy link
Contributor

@vivekmodi23 are you going to connect

@arnb-smnta
Copy link
Contributor

@anirudh can i start working on the app and present a skelton to you for your approval @vivekmodi23 is not responding or connecting

@jwala-anirudh
Copy link
Collaborator

Yep, since the idea/feature addition is from vivek wanted to wait for more 48 hours. In case of no response, I will be closing this issue.

@arnb-smnta can focus on e-commerce app that is drafted

@arnb-smnta
Copy link
Contributor

@jwala-anirudh yes i will focus on frontend ecommerce app but i would also like to have a chance to work on this backend project as well, and to tell the truth I have been working on it since the day it was proposed I can come up with a detailed skelton for review if you like it you can approve if not I will never mention it again ,

@arnb-smnta
Copy link
Contributor

@jwala-anirudh as per our discussion I am working on this backend project

@jwala-anirudh
Copy link
Collaborator

@arnb-smnta before you start coding out the feature please check my previous comment and get it approved from shubham and myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants