- 🚀 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
A comprehensive video conferencing platform built with Next.js and TypeScript, mirroring Zoom's functionality. This application enables secure user authentication, meeting creation, and advanced conferencing features including recording, screen sharing, and participant management.
- Next.js
- TypeScript
- Clerk
- getstream
- shadcn
- Tailwind CSS
Experience seamless login with Clerk, supporting both social sign-on and traditional email/password methods.
Start new meetings instantly with pre-configured audio and video settings.
Schedule upcoming meetings with detailed configurations and share access links.
Access your dedicated meeting room with a permanent link for quick meetings.
- Meeting recording capabilities
- Screen sharing functionality
- Emoji reactions for engagement
- Flexible grid layout options
- Comprehensive participant management
- Individual participant controls
- Mute/unmute capabilities
- Video sharing permissions
- Participant pinning options
Review past meeting recordings for reference.
Access comprehensive list of past meetings with metadata.
Secure real-time interactions with robust privacy measures.
Responsive design ensuring seamless experience across all devices.
Follow these steps to set up the project locally on your machine.
Make sure you have the following installed on your machine:
- Git
- Node.js
- npm (Node Package Manager)
git clone https://github.com/adrianhajdin/zoom-clone.git
cd zoom-clone
Install the project dependencies using npm:
npm install
Create a new file named .env
in the root of your project and add the following content:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_STREAM_API_KEY=
STREAM_SECRET_KEY=
Replace the placeholder values with your actual Clerk & getstream credentials. You can obtain these credentials by signing up on the Clerk website and getstream website.
npm run dev
Open http://localhost:3000 in your browser to view the project.