Skip to content

This project is a backend implementation of a Twitter clone using Django, Django REST framework, Django Channels, PostgreSQL, Redis, and Cloudinary. This project includes a wide range of features, including authentication, tweet management, likes, retweets, notifications, real-time chat, and more.

License

Notifications You must be signed in to change notification settings

Macktireh/clone-twitter-backend

Repository files navigation

Backend Twitter Clone

Home screen Home screen Home screen Home screen

Table of Contents

Description

This project is a backend implementation of a Twitter clone using Django, Django REST framework, Django Channels, PostgreSQL, Redis, and Cloudinary. This project includes a wide range of features, including authentication, tweet management, likes, retweets, notifications, real-time chat, and more. This repository contains the backend code. The frontend, built with React, Redux, and other technologies, can be found clone-twitter-frontend.

Features

  • Authentication: Signup, email activation, login, password reset request, password reset, password change, JWT token refresh, JWT token verification, and logout.
  • Social Auth: Login with Google.
  • Tweets: Create, read, update, and delete tweets.
  • Likes: Manage likes on tweets.
  • Bookmark: Manage bookmarked tweets.
  • Retweets: Manage retweets.
  • Retweet Likes: Manage likes on retweets.
  • User Management: Get and update user information, manage following and followers.
  • Notifications: Real-time notification system.
  • Real-Time Chat: Real-time chat feature.

Prerequisites

  • Python 3.12+
  • Git
  • Docker
  • PostgreSQL
  • Redis
  • Cloudinary

Getting Started

Common Setup

  1. Clone the repository:
git clone https://github.com/Macktireh/clone-twitter-backend.git
cd clone-twitter-backend
  1. Configure environment variables: Create a .env file based on the .env.example file and set your environment variables.

Installation with Docker

Build and start the Docker containers:

docker-compose up --build

Installation without Docker

  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Apply database migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver

Your Twitter clone backend should now be up and running. 🎉 The application will be accessible at http://localhost:8000.

License

This project is licensed under the MIT License.

About

This project is a backend implementation of a Twitter clone using Django, Django REST framework, Django Channels, PostgreSQL, Redis, and Cloudinary. This project includes a wide range of features, including authentication, tweet management, likes, retweets, notifications, real-time chat, and more.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published