SplitIt is a finance management application that simplifies the process of adding bills and splitting expenses among group members. Expense management including features for adding, updating, deleting expenses, and settling balances. With advanced functionalities for splitting Equally, Unequally, by Shares and by Percentages. SplitIt emerges as an ideal tool for efficient management of shared finances within a group.
In this latest update, SplitIt introduces a new feature for sending invitations to existing users, providing them with the option to either accept or decline the invitation.
-
Invitation System: Users can send invitations to existing users to join their group.
-
Accept or Decline Invitations: Receiving users have the option to either accept or decline the invitation.
- Invitation Sent
- Invitation Received
-
User Authentication: SplitIt provides user registration and login functionalities to ensure secure access to your finance management account.
-
Bill Management: Users can easily add, edit, and delete bills. Each bill can be associated with a description, amount, and the members involved in the expense.
-
Expense Splitting: SplitIt calculates how much each member owes or is owed based on the bills and the members involved. It simplifies the process of dividing expenses evenly with a participant-based splitting mechanism for spliting exclusively among involved members, guaranteeing a tailored and accurate financial management experience without impacting others. Introducing an advanced option for expense splitting – "Unequal Splitting." This feature allows users to customize the contribution of each participant individually, providing a more personalized and flexible approach to expense sharing. Users can specify the exact amount each member should contribute to the expense, enhancing the granularity and customization of financial arrangements within the group. Additionally, features like "Shares Split" and "Percentage Split" provide alternatives to determine contribution shares and percentages instead of exact amounts, further diversifying the options for users in managing shared expenses.
-
Balance Settlement: Users can settle balances among group members, making it easy to track who owes money and who is owed.
-
Validation: SplitIt incorporates validation mechanisms to ensure that the bills and expenses are correctly input and that calculations are accurate.
-
Expense Filter: Effortlessly locate expenses by utilizing our intuitive search bar and refine results further with a selectable date range, providing a seamless and tailored filtering experience.
-
Expense Pagination: Users can take control of thier expense list with our Pagination feature, allowing to view and manage expenses at thier own pace.
-
Frontend (Angular): The frontend of SplitIt is built using Angular, a popular web application framework. Angular provides a robust structure for building dynamic and responsive user interfaces.
-
Backend (Node.js with Express): The backend of SplitIt is powered by Node.js, a server-side JavaScript runtime, and Express, a web application framework for Node.js. Together, they handle the server-side logic and API endpoints for the application.
-
MongoDB: SplitIt uses MongoDB, a NoSQL database, to store and manage data. MongoDB's flexibility and scalability make it a suitable choice for handling financial data.
-
JWT (JSON Web Tokens): JWT is used for user authentication and authorization in SplitIt. It provides secure and efficient access control to the application.
- Navigate to the frontend directory:
cd splitIt-app
- Install dependencies:
npm install
- Start the Angular development server:
ng serve
Open your browser and go to http://localhost:4200 to access the SplitIt frontend.
- Navigate to the backend directory:
cd server
- Install dependencies:
npm install
- Add .env file and paste following content in it:
ACCESS_TOKEN_SECRET='123' REFRESH_TOKEN_SECRET='123'
- Configure the MongoDB connection in server.js file in following code:
mongoose.connect('mongodb://127.0.0.1:27017/SplitIt', { useNewUrlParser: true, useUnifiedTopology: true, });
- Start server:
node server.js
Test the server's API by making requests to http://localhost:3000 using Postman or any other suitable endpoint testing platform.
For checking out without signup user either of following details to login:
Email: testuser1@gmail.com Password: testuser1
or
Email: testuser2@gmail.com Password: testuser2
Launched website at https://splititapp.netlify.app/
Shifted to Cyclic.sh for hosting Backend server and Netlify for Frontend.
SplitIt is an ongoing project, and there are several potential improvements and future steps:
-
Unequal Split: Implement backend logic and frontend options to enable unequal distribution of expenses.✅ -
Participants-based Split: Implement backend logic and frontend options to select members involved in participants.✅ -
Shares and Percentages Split: Implement backend logic and frontend options to enable unequal distribution of expenses by mentioning shares or percentages of involved participants.✅ -
Notifications: Add email or in-app notifications to keep users informed about their financial activities.
-
Expense Categories: Allow users to categorize expenses for better tracking.✅ -
Expense Modifications: Allow users to modify expenses and resolve balances based on that.✅ -
Reports and Analytics: Create visual reports and analytics for a better understanding of spending patterns.
-
Logs: Introduce activity logs to monitor all changes within the group.
Please feel free to contribute to the project or provide feedback to help us make SplitIt even better!
Thank you for using SplitIt!
- Register Page
- Register Validations
- Register Validations Ok
- Login Page
- Login Validations
- Login Validations Ok
- Home
- Create Group
- Group
- Group
- Member Validations
- Member Added
- Expense
- Member Splits
- Group Balance
- Expense Multiple User
- Group Balance Multiple User
- Settle Balance
- Settle Balance Confirmation
- Settled Balance
- Member Settled Balance
- Home Group List