Skip to content

Sri15-Inj/Twitter-Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 

Repository files navigation

Twitter Clone πŸš€

A highly scalable and performant Twitter clone built using React, Node.js, and MongoDB. Designed as a distributed system with microservices architecture, it efficiently handles concurrent user requests using asynchronous operations. This application features real-time notifications, high availability, and fault-tolerant architecture, ensuring a seamless social media experience.


🎯 Features

  • User Authentication: Secure registration and login with JWT tokens.
  • Tweeting and Retweeting: Post tweets, retweet, and reply to tweets.
  • Real-Time Notifications: Instant updates on likes, retweets, and replies using WebSocket.
  • Asynchronous Operations: Efficiently handles concurrent user requests with non-blocking architecture.
  • Caching: Redis integration for fast content delivery and reduced database load.
  • Scalable Deployment: Deployed with Kubernetes for high availability and auto-scaling.
  • Fault-Tolerant Architecture: Ensures reliability with message queuing and distributed microservices.

βš™οΈ Tech Stack

  • Frontend: React with React Router and Axios
  • Backend: Node.js with Express.js
  • Database: MongoDB
  • Caching: Redis for fast data retrieval
  • Message Queuing: RabbitMQ for reliable messaging
  • Containerization: Docker
  • Orchestration: Kubernetes for scalable deployment
  • CI/CD: GitHub Actions for continuous integration and deployment
  • Cloud Platform: AWS for cloud hosting and scaling

πŸ“¦ Architecture Overview

The application follows a distributed microservices architecture:

  • Frontend Service: Built with React for a dynamic user interface and seamless navigation.
  • API Gateway: Manages routing of requests to various backend services.
  • User Service: Handles authentication, user profiles, and follower management.
  • Tweet Service: Manages tweet creation, retweets, likes, and comments.
  • Notification Service: Sends real-time notifications using WebSocket and Redis Pub/Sub.
  • Message Queue: RabbitMQ for asynchronous messaging and fault tolerance.
  • MongoDB: Stores user data, tweets, comments, and relationships.
  • Redis Cache: Speeds up data retrieval for frequently accessed content.
  • Kubernetes: Manages containerized microservices for auto-scaling and high availability.

πŸš€ Getting Started

Prerequisites

  • Node.js and npm
  • MongoDB and Redis
  • Docker & Kubernetes
  • RabbitMQ
  • AWS Account (for deployment)

Clone the Repository

git clone https://github.com/your-username/twitter-clone.git
cd twitter-clone

About

Developed a Twitter clone with React, Node.js, and MongoDB, incorporating asynchronous operations for efficient handling of concurrent user requests. Designed a distributed system using microservices, Redis for caching, and Kubernetes for scalable deployment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors