The FullStack Twitter Clone is a web application designed to replicate Twitter's core functionalities. This project provides a platform for users to engage in social networking activities such as creating and posting tweets, following other users, liking posts, and viewing user profiles.
Git-Hub Repo:
https://github.com/Rohantunikipati/Twitter-Clone-FrontEnd
https://github.com/Rohantunikipati/Twitter-Clone-Backend

Overview
This project aims to develop a social media platform inspired by Twitter's core functionalities. This project will provide users with a seamless experience to create and share content, connect with other users, and interact through tweets and likes, all within a modern, responsive web interface.
Key Features
- User Authentication and Authorization:
- Google OAuth Integration: Users can sign in using their Google accounts, enhancing convenience and security.
- JSON Web Tokens (JWT): Secure token-based authentication system to manage user sessions and protect routes.
- Tweet Management:
- Create and Post Tweets: Users can compose, post, and delete tweets in real-time.
- Text and Media Support: Tweets can include text and support attachments like images or videos.
- User Profiles:
- Profile Pages: Users have personalized profile pages displaying their profile picture, and list of tweets.
- Followers and Following: View the list of followers and the users being followed.
- Following and Followers System:
- Follow/Unfollow Functionality: Users can follow or unfollow other users, influencing the content displayed on their timeline.
- Data Fetching and Caching:
- Efficient Data Loading: With React-Query and Redis for caching, the timeline, and other components load quickly and efficiently.
- Optimized Performance and Scalability:
- Server-Side Rendering (SSR) with Next.js: Ensures faster page loads, improved SEO, and better performance.
- Redis Caching: Implements server-side caching with Redis to speed up database query responses and improve overall app performance.
- GraphQL API:
- Flexible Data Queries: GraphQL allows clients to request precisely the data they need, reducing over-fetching and under-fetching.
- Typesafe Queries and Mutations: Utilizes Codegen for generating typesafe queries and mutations, ensuring robust type safety and reducing runtime errors.
- Scalable and Secure Database Management:
- MongoDB: A powerful non-relational database, provides reliable storage and management.
- Prisma ORM: A type-safe ORM interface for seamless interaction with the MongoDB database, simplifying data modeling and access.
- Responsive and Modern User Interface:
- TailwindCSS for Styling: Rapidly built and styled components to ensure a modern UI.
- Reusable Components: Modular component design to facilitate easy updates and maintenance.
- Data Storage and CDN:
- Amazon Web Services (AWS): Used for storage solutions, deployments, and serving content through a pre-signed URL for faster access and scalability.