Skip to content

Latest commit

 

History

History
120 lines (85 loc) · 3.57 KB

README.md

File metadata and controls

120 lines (85 loc) · 3.57 KB

Twitter clone

This project is a fully functional Twitter clone built using A Next.js 14 with SASS, TailwindCSS, Framer-motion, TypeScript, Tanstack Query, MongoDB, Supabase, Prisma, NextAuth and Zustand. It showcases advanced frontend and backend capabilities.

twitter-clone-preview

📽 Demo video link

https://x.com/imDignesh/status/1784166713694773756

✨ Features

  • Google / Github / Email (NextAuth) Authentication
  • Edit profile with profile / banner images and other details
  • Create tweet with upto 4 images and support emojis
  • Follow / Unfollow user functionality
  • User can Likes / Comments / Replies / Bookmark tweet
  • User can see following list of other users
  • User can Delete / Pin own post
  • User can see other user's following / followers list
  • Search any tweet and user
  • Discover trending hashtags
  • Fully responsive
  • Change theme using shortcut Alt + T

Built with

🛠️ Installation

git clone https://github.com/devdignesh/twitter-clone.git
cd twitter-clone
npm i
npm run dev

Environment Variables

Before running the development server, make sure to create .env file in the root directory of the project and add the required environment variables. You can use the example provided in the repository as a starting point.

cp .env.example .env

Prisma

This project leverages the power of Prisma ORM for seamless database interaction. Prisma provides a modern database toolkit that simplifies database access, allowing for efficient querying, migrations, and schema management.

Run the following command to generate the Prisma client:

cp npx prisma generate

This command generates TypeScript typings for Prisma Client based on your database schema.

After generating the Prisma client, ensure that any changes made to the database schema are synchronized with the actual database. Run the following command:

cp npx prisma db push

This command applies any pending migrations to the database, ensuring that the local database reflects the latest schema changes made in the codebase.

🔗 Useful Links:

Docker Setup

This project includes Docker support for easier development and deployment.

Prerequisites

  • Docker installed on your machine.

Usage

  1. Clone the repository:
git clone https://github.com/devdignesh/twitter-clone.git
cd twitter-clone
  1. Pull the latest Docker image:
docker pull devdignesh/twitter_clone_nextjs:v1.1.0
  1. Run the Docker container:
docker run -d -p 8000:3000 devdignesh/twitter_clone_nextjs:v1.1.0
  1. Access the application in your browser
http://localhost:8000

Contributing

Welcome to contribute to our repository! We value your input and appreciate any contributions you make