Twitter is one of the most popular social media platforms in the world, with over 330 million active users as of 2021. If you are interested in building a Twitter-like application, this tutorial will guide you through the process of building a FullStack Twitter Clone using the latest technologies.
In this tutorial, we will create a FullStack Twitter Clone that allows users to create and post tweets, follow other users, and like, and view their own profiles and the profiles of other users.
Node.js for our backend code would run the graphql server inside the node.js environment.
GraphQL for our API provides a flexible and efficient way to define and query our data model.
Prisma ORM for our database ORM, which provides a type-safe and easy-to-use interface for interacting with our PostgreSQL database.
PostgreSQL is our database, which is a powerful and reliable relational database system.
Supabase for hosting and managing cloud Postgresql db.
Redis for query caching on the server side and increasing query speeds
Google OAuth for Sign in with Google
JSON WEB TOKENS for authentication
Next.js for our front end is a popular framework for building React applications with server-side rendering and optimized performance.
TailwindCSS for styling and reusable components.
Codegen for typesafe graphql queries and mutations.
Graphql-Request as API client for client-server communication
React-Query for client-side data caching and query caching
Typescript to maintain code quality and write type-safe code.
Amazon Web Services for storage and deployments.
To follow along with this tutorial, you will need the following:
Basic programming knowledge
Min 6 months of experience with Node.js and Express
Beginner-level experience with React and NextJS
Overview of Graphql (Optional)
After this course, learners would have a strong hands-on over several latest technologies, tools and programming practices such as:
How to use Graphql with Express
How to use PrismaORM with Node and PostgreSQL
How relational DBs work and how to make relations in SQL database
Complex Joins and Lookups in SQL using Prisma ORM
Client Query Caching with React Query
On-Demand Query Invalidation
Server Side Data Fetching and Rendering with Next.js SSR
How to Implement OAuth from Scratch
Creating Custom Hook Wrappers around React Query
Redis Caching to increase query speeds
Configuring and Setting up Custom S3 Bucket Policy on AWS
Uploading Media to AWS S3 using Pre-Signed URLs
Working in Typesafe code check with Typescript and Codegen