
What is BillBuddy?
BillBuddy is a comprehensive expense-sharing application that helps you split bills, track shared expenses, and settle up with friends, roommates, or any group. Built with the MERN stack (MongoDB, Express.js, React, Node.js), BillBuddy provides an intuitive interface for managing group finances. Whether you’re splitting rent with roommates, managing a trip with friends, or tracking shared household expenses, BillBuddy simplifies the process with automatic balance calculation, debt simplification, and email settlement summaries.Core features
User authentication
Secure JWT-based authentication with bcrypt password hashing. Register, login, and manage user profiles with token-based authorization.
Group management
Create groups, invite members, and track balances. Support for multiple groups with automated balance calculation and member management.
Expense splitting
Add expenses and split them equally among group members. Categorize expenses (Food, Travel, Shopping, Entertainment, Utilities) for better tracking.
Debt simplification
Automatically calculate who owes whom and simplify debts. Generate settlement summaries and send email notifications when settling up.
Technology stack
BillBuddy leverages modern web technologies for a robust and scalable application:- Backend: Node.js (v18+) with Express.js framework
- Database: MongoDB (v4.4+) with Mongoose ODM
- Frontend: React 18 with Vite build tool
- UI Framework: Material-UI (MUI) components with custom theming
- Authentication: JSON Web Tokens (JWT) with 30-day expiration
- Email Service: Web3Forms API for settlement notifications
- Styling: Tailwind CSS and Emotion for component styling
Getting started
Quickstart
Get BillBuddy running locally in under 5 minutes with our quick setup guide.
Installation
Detailed installation instructions for both backend and frontend, including environment configuration.
API reference
Explore the complete API documentation with endpoints for authentication, groups, expenses, and settlements.
Configuration
Configure environment variables, database connections, and email settings for your deployment.
Key capabilities
Real-time balance tracking
BillBuddy automatically calculates and updates member balances as expenses are added. ThecalculateBalances() method in the Group model ensures accurate tracking across all transactions.
Smart expense splitting
Expenses are split equally among selected group members. Each expense tracks who paid, the amount, and who it’s split among, with automatic per-person share calculation.Category-based organization
Organize expenses into categories (Food, Travel, Shopping, Entertainment, Utilities, Other) for better insights into spending patterns.Email settlement summaries
When settling up, BillBuddy sends formatted email summaries to all group members showing final balances and who owes whom.BillBuddy requires Node.js v18 or higher and MongoDB v4.4 or higher. Make sure you have these prerequisites installed before proceeding.
Next steps
Follow the quickstart guide
Get BillBuddy running locally with our quickstart guide.
Explore the API
Learn about available endpoints in the API reference.
Customize your setup
Configure authentication, email settings, and database connections in the configuration guide.
