Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/macktireh/clone-twitter-backend
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.
https://github.com/macktireh/clone-twitter-backend
api-rest clone-twitter cloudinary django django-rest-framework docker postgresql python redis swagger
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/macktireh/clone-twitter-backend
- Owner: Macktireh
- License: mit
- Created: 2022-06-29T19:09:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-10T17:22:39.000Z (5 months ago)
- Last Synced: 2024-08-11T14:53:01.076Z (5 months ago)
- Topics: api-rest, clone-twitter, cloudinary, django, django-rest-framework, docker, postgresql, python, redis, swagger
- Language: Python
- Homepage: https://clone-twitter-backend.onrender.com
- Size: 574 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Backend Twitter Clone
## Table of Contents
- [Description](#description)
- [Features](#features)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Installation with Docker](#installation-with-docker)
- [Installation without Docker](#installation-without-docker)## 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](https://github.com/Macktireh/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:
```sh
git clone https://github.com/Macktireh/clone-twitter-backend.git
```
```sh
cd clone-twitter-backend
```2. 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:
```bash
docker-compose up --build
```### Installation without Docker
1. Create and activate a virtual environment:
```bash
python -m venv venv
```
```bash
source venv/bin/activate # On Windows: venv\Scripts\activate
```2. Install dependencies:
```bash
pip install -r requirements.txt
```
5. Apply database migrations:```bash
python manage.py migrate
```6. Start the development server:
```bash
python manage.py runserver
```Your Twitter clone backend should now be up and running. 🎉
The application will be accessible at [http://localhost:8000](http://localhost:8000).## License
This project is licensed under the [MIT License](LICENSE).