Skip to content

Varun0818/split_wiser-using-Django

Repository files navigation

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

![Python](https://img.shields.io/badge/Python-3.8%2B-blue)
![Django](https://img.shields.io/badge/Django-3.2-green)
![License](https://img.shields.io/badge/License-MIT-yellow)

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
  1. Create and activate a virtual environment:

    python -m venv venv
    venv\Scripts\activate
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run migrations:

    python manage.py migrate
  4. Create a superuser:

    python manage.py createsuperuser
  5. Start the development server:

    python manage.py runserver
  6. Access the application at http://127.0.0.1:8000/

Usage

Creating a Group

  1. Log in to your account.
  2. Navigate to "Groups" and click "Create Group".
  3. Enter group details and add members.
  4. Click "Create Group".

Adding an Expense

  1. Navigate to a group.
  2. Click "Add Expense".
  3. Enter expense details (amount, title, paid by, etc.).
  4. Select how to split the expense (equally, by percentage, etc.).
  5. Click "Add Expense".

Settling Up

  1. Navigate to a group.
  2. Click "Settlement Summary".
  3. View who owes whom and how much.
  4. Click "Settle Up" to record a payment.

Project Structure

  • expenses/: Main application directory
    • models.py: Database models
    • views_*.py: View functions organized by feature
    • forms.py: Form definitions
    • templates/: HTML templates
    • static/: Static files (CSS, JS)

Contributing

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature-name.
  3. Commit your changes: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature-name.
  5. Submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

Contact

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!

About

Django-based expense sharing app with settlements and group management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors