- Description
- Features
- Prerequisites
- Getting Started
- Installation with Docker
- Installation without Docker
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.
- 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.
- Python 3.12+
- Git
- Docker
- PostgreSQL
- Redis
- Cloudinary
- Clone the repository:
git clone https://github.com/Macktireh/clone-twitter-backend.git
cd clone-twitter-backend
- Configure environment variables: Create a
.env
file based on the.env.example
file and set your environment variables.
Build and start the Docker containers:
docker-compose up --build
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py migrate
- 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.
This project is licensed under the MIT License.