SplitBill is a beginner-friendly full-stack web application developed in PHP and MySQL for an undergraduate CSE course project. It allows roommates, travel groups, and friends to track shared expenses, calculate net balances, and generate a simplified "Settle Up" plan with minimal payment transactions.
- Backend: Procedural PHP (
mysqli) - Database: MySQL (relational database with foreign keys)
- Frontend: HTML5, CSS3 (Modern, Responsive Vanilla CSS), Vanilla JavaScript
- Local Server: XAMPP (Apache + MySQL)
SplitBill/
│
├── css/
│ └── style.css # Clean, modern, responsive CSS stylesheet
├── js/
│ └── script.js # Vanilla JavaScript form validation & checkbox toggles
├── sql/
│ └── schema.sql # Database schema, table definitions & starter demo data
├── includes/
│ ├── header.php # Common HTML header, navigation bar & session detection
│ └── footer.php # Common HTML footer & script tag
│
├── db.php # Database connection script using plain mysqli
├── index.php # Welcoming landing page & feature overview
├── register.php # User registration with password_hash()
├── login.php # User login with password_verify() and session start
├── logout.php # Session destruction and logout handler
├── dashboard.php # Group creation and group list
├── group.php # Core group page: expenses, member balances & settle-up
└── README.md # Documentation & viva presentation guide
- Download and install XAMPP.
- Open the XAMPP Control Panel.
- Click Start next to Apache and MySQL. Both should turn green.
- Make sure this
SplitBillfolder is located inside your XAMPPhtdocsdirectory:C:\xampp\htdocs\SplitBill (or D:\XAMPP\htdocs\SplitBill)
- Open your web browser and go to: http://localhost/phpmyadmin
- Click on the Import tab at the top.
- Click Choose File and browse to
SplitBill/sql/schema.sql. - Click Import (or Go) at the bottom.
- The database
splitbill_dband its tables will be created automatically with sample demo data.
- In your browser, navigate to:
http://localhost/SplitBill - You should see the SplitBill landing page!
The database includes 3 pre-configured demo users that belong to a demo group called "Trip to Cox's Bazar":
| Name | Password | |
|---|---|---|
| Tanvir Ahmed | tanvir@example.com |
password123 |
| Sarah Khan | sarah@example.com |
password123 |
| Rahim Chowdhury | rahim@example.com |
password123 |