Skip to content

MadMax8930/twitter-clone

Repository files navigation

MyTwittah Clone made with [Next.js] & React Typescript (fully responsive)

Node version 16.13

User will be able to:

  • Authenticate
  • Post tweets
  • Reply to tweets
  • Like tweets (with notification trigger)
  • Follow other users (with notification trigger)
  • Edit name, bio, profile cover with file upload

Run server:

npm run dev
# or
yarn dev

Dependencies

npm install -D tailwindcss -D prisma @prisma/client bcrypt -D @types/bcrypt next-auth @next-auth/prisma-adapter swr axios zustand react-icons react-hot-toast react-spinners date-fns react-dropzone

Development framework:

Next.js documentation for routing & server side rendering

Authentication:

NextAuth.js documentation for more details

CSS Management:

Tailwind documentation for styling

ORM Library:

Prisma documentation for data management

  • Init ORM: npx prisma init
  • Format models: npx prisma format
  • Migrate schema changes: npx prisma migrate
  • Push modals to db : npx prisma db push

Backend Storage:

MongoDB Atlas documentation for free database solution

Global Store Management Library:

SWR documentation for more details

This library will fetch data. Store it in the global store. The great thing is that the reuse of swr hooks, will not going to re-fetch the data. It will take a look, see if data exists in a cache, and it will decide whether data needs to be re-validated and fetched again. In my opinion, it's a good alternative to Redux Toolkit.

Lightweight Store Management Library:

Zustand documentation for modals

Deployment

Project deployed on Vercel.