Skip to content

ahnge/thread-clone

Repository files navigation

Thread Clone

Thread Clone is a social media thread clone project built using Django and HTMX, allowing users to create and participate in threaded discussions. This README provides an overview of the project and instructions for getting started.

Table of Contents

Getting Started

To get started with Thread Clone, follow these instructions:

Prerequisites

Before you begin, ensure you have the following prerequisites installed:

  • Python (version 3.10.12) or higher

You can install Python from the official Python website.

Installation

  1. Clone the Thread Clone repository to your local machine:
git clone https://github.com/ahnge/thread-clone.git
  1. Navigate to the project directory:
cd thread-clone
  1. Set up a virtual environment (recommended):
python -m venv venv
  1. Activate the virtual environment:

On windows:

venv\Scripts\activate

On macOS and Linux:

source venv/bin/activate
  1. Install project dependencies:
pip install -r requirements.txt
  1. Apply database migrations:
python manage.py migrate
  1. Create a superuser account for admin access:
python manage.py createsuperuser
  1. Start the development server:
python manage.py runserver

The Thread Clone should now be running at http://localhost:8000/. You can access the admin interface at http://localhost:8000/admin/ to manage threads and users.

Usage

With Thread Clone, users can:

  • Create and participate in threaded discussions.
  • Reply to existing threads and comments.
  • Like and repost threads and comments
  • Follow users
  • Manage their user profiles.
  • To see the project in action, visit the development server URL and start exploring.

Contributing

We welcome contributions. To contribute:

  • Fork the repository on GitHub.
  • Create a branch for your feature or bug fix.
  • Make your changes and commit them with descriptive messages.
  • Push your branch to your fork.
  • Open a pull request with details about your changes.

License

This project is licensed under the GNU General Public License, Version 3 (GPLv3) - see the LICENSE file for details.