Skip to content

AhmedHassanDev1/X_Project

Repository files navigation

X Clone 🐦

X Clone is a mini Twitter clone that allows users to register, post tweets, and interact via real-time chat. It combines GraphQL, REST API, and WebSocket for a full-featured experience.

🚀 Features

  • ✅ User registration and account creation

  • ✅ Create, edit, and delete tweets

  • ✅ Follow users and view their tweets

  • ✅ Real-time direct chat between users

  • ✅ Modern and responsive user interface

  • ✅ Advanced search

🛠️ Tech Stack

💻 Client

  • Nextjs

  • Apollo Client (GraphQL)

  • React Query

  • Socket.IO (WebSocket)

  • Axios

  • react-hook-form & Zod

  • Material UI

  • Redux

🖥️ Server

  • NestJS

  • Mongoose (MongoDB)

  • Nodemailer

  • GraphQL via Apollo Server

  • Socket.IO (Realtime)

  • 📂 Databases & Search Engine

  • MongoDB (Primary DB)

  • Redis (Cache DB)

  • Elasticsearch (Engine Search)

🛠 Server Architecture

  • Auth Module (RestAPI)
  • User Module (RestAPI)
  • Notifications Module (RestAPI)
  • Interactions Module (RestAPI)
  • Chat Module (RestAPI & SocketIO)
  • Content Module (GraphQL)

🌐 Web Server

  • NGINX

🐳 Containerization

  • Docker

  • Docker Compose