This README provides a detailed overview of your project, including features, installation instructions, usage guidelines, and project structure. It is designed to help users understand and get started with your Splitwise clone project effectively.
# Splitwise Clone



A Django-based application for managing shared expenses among friends and roommates. This project allows users to create groups, add expenses, and settle debts efficiently.
## Features
- **User Authentication**: Secure login and registration system.
- **Group Management**: Create and manage groups, add or remove members.
- **Expense Tracking**: Add, edit, and delete expenses within groups.
- **Settlement**: View and manage settlements among group members.
- **Expense History**: Track and filter expense history by date, type, and group.
- **CSV Export**: Export expense data to CSV for offline access.
- **Recurring Expenses**: Manage recurring expenses with ease.
## Technology Stack
- **Backend**: Django (Python)
- **Database**: SQLite (default), compatible with PostgreSQL
- **Frontend**: HTML, CSS, Django Templates
## Installation
### Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
### Setup
1. **Clone the repository**:
```bash
git clone https://github.com/Varun0818/split_wise.git
cd split_wise-
Create and activate a virtual environment:
python -m venv venv venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
-
Access the application at http://127.0.0.1:8000/
- Log in to your account.
- Navigate to "Groups" and click "Create Group".
- Enter group details and add members.
- Click "Create Group".
- Navigate to a group.
- Click "Add Expense".
- Enter expense details (amount, title, paid by, etc.).
- Select how to split the expense (equally, by percentage, etc.).
- Click "Add Expense".
- Navigate to a group.
- Click "Settlement Summary".
- View who owes whom and how much.
- Click "Settle Up" to record a payment.
expenses/: Main application directorymodels.py: Database modelsviews_*.py: View functions organized by featureforms.py: Form definitionstemplates/: HTML templatesstatic/: Static files (CSS, JS)
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name. - Commit your changes:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature-name. - Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or feedback, please contact Varun Chikoti.
This enhanced README includes badges for quick technology identification, a contact section, and more structured sections for clarity. Feel free to customize further with screenshots or additional usage examples!