Skip to content

harsh3294/miro_nextjs

Repository files navigation

Full Stack Realtime Miro Clone with Next.js 14 App Router: React, Tailwind

Full Stack Miro Clone

Key Features

  • 🛠️ Whiteboard from scratch: Create and customize your whiteboard canvas according to your needs.
  • 🧰 Toolbar with Text, Shapes, Sticky Notes & Pencil: Access a variety of tools for drawing, writing text, adding shapes, and using sticky notes.
  • 🪄 Layering functionality: Organize your elements with layering functionality to control their stacking order.
  • 🎨 Coloring system: Choose from a wide range of colors to make your drawings vibrant and expressive.
  • ↩️ Undo & Redo functionality: Easily correct mistakes or redo actions with the undo and redo functionality.
  • ⌨️ Keyboard shortcuts: Enhance productivity with keyboard shortcuts for common actions.
  • 🤝 Real-time collaboration: Collaborate with others in real-time, allowing multiple users to work on the whiteboard simultaneously.
  • 💾 Real-time database: Utilize a real-time database to ensure seamless synchronization of data across all connected clients.
  • 🔐 Authentication, organizations, and invites: Securely authenticate users, manage organizations, and invite others to collaborate on whiteboard projects.
  • ⭐️ Favoriting functionality: Mark your favorite whiteboards for easy access and organization.
  • 🌐 Next.js 14 framework: Built using the Next.js framework, providing server-side rendering and efficient client-side navigation.
  • 💅 TailwindCSS & ShadcnUI styling: Employ modern styling frameworks like TailwindCSS and ShadcnUI for responsive and visually appealing designs.

Prerequisites

Before getting started, ensure you have the following:

  • Node version 14.x

Cloning the Repository

To clone the repository, run the following command:

git clone https://github.com/harsh3294/miro_nextjs.git

Installing Packages

cd next14-miro-clone
npm i

Setup .env file

CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
LIVEBLOCKS_SECRET_KEY=

Setting up Convex

npx convex dev

Starting the App

npm run dev