Skip to content

a Twitter clone with typescript, react, zustand, tailwindcss, nextjs, prisma, mongodb, next auth.js,

Notifications You must be signed in to change notification settings

yskooo/twitter-clone-typescript

Repository files navigation

Twitter Clone TypeScript

Features

  • Authentication system
  • Notification system
  • Image Upload using Base64 strings
  • Prisma ORM with MongoDB
  • Responsive Layout
  • 1 To Many Relations (User - Post)
  • Many To Many Relations (Post - Comment)
  • Following functionality
  • Comments / Replies
  • Likes functionality
  • Vercel Deployment

I'd like to note some things that I was confused about and had to read the documentation for. I hope this information might be helpful to you. Please excuse any mistakes in my previous message and let me know if there's anything else I can do to assist you.

What is TypeScript?

  • TypeScript is a typed superset of JavaScript that adds optional static typing to the language. It is designed to make large-scale web applications more maintainable and scalable by providing a way to catch errors at compile time rather than runtime.

What is void?

  • Void is a data type in TypeScript that indicates the absence of a value. It is typically used as the return type for functions that do not return a value.

What is a dependency array?

  • A dependency array is an array of values that is passed as a parameter to a function or hook in React. The purpose of the dependency array is to tell React when the function or hook should be re-executed.

What is State Management?

  • State management refers to the process of managing the state of an application, which includes data that can change over time. In React, state management typically involves using the useState hook or a state management library like Redux or Zustand.

What is Zustand?

  • Zustand is a state management library for React that uses a simple and efficient API to manage global state in your application. It is designed to be lightweight and fast, making it a good choice for small to medium-sized applications.

What is Redux?

  • Redux is a state management library for JavaScript and React applications. It provides a centralized store for managing the state of an application and a set of rules for updating that state in a predictable way.

What is React Query?

  • React Query is a library for managing remote data in React applications. It provides a set of hooks for fetching, caching, and updating data from APIs, making it easy to handle complex data requirements.

What is Prisma?

  • Prisma is an ORM (Object-Relational Mapping) tool that provides a type-safe and efficient way to interact with databases in Node.js applications. It supports multiple databases and provides a set of APIs for querying, updating, and deleting data.

What is ORM?

  • ORM stands for Object-Relational Mapping. It is a technique that maps database objects to objects in programming languages like JavaScript. ORMs provide a way to interact with databases in an object-oriented way, making it easier to work with data in your application.

What is SWR?

  • SWR (Stale-While-Revalidate) is a React library for managing remote data that provides a caching layer and a set of hooks for fetching, caching, and updating data from APIs. It is designed to make it easy to handle real-time data requirements and reduce the number of network requests.

What is MVC?

  • MVC stands for Model-View-Controller. It is a software design pattern that separates an application into three interconnected components: the model (data and business logic), the view (user interface), and the controller (handles user input and updates the model and view).

What is GET, POST, PATCH?

  • GET, POST, and PATCH are HTTP methods used to request and send data over the internet. GET is used to retrieve data, POST is used to send data to a server, and PATCH is used to update data on a server.

What is Alias?

  • An alias is a shorthand name for a module or file in JavaScript or TypeScript. It allows you to reference a module or file using a shorter and more convenient name.

What and How is mutation?

  • Mutation is an operation in GraphQL that is used to modify data on the server. It allows you to create, update, and delete data in a GraphQL API. In React, you can use a library like Apollo Client to perform mutations and update the UI based on the results.

Acknowledgements