Dec 1, 2024

NexCall-One-Platform-to-Connect

nextjs 14 video-conferencing javascript typescript saas

A Zoom Clone

  

πŸ“‹ Table of Contents

  1. πŸ€– Introduction
  2. βš™οΈ Tech Stack
  3. πŸ”‹ Features
  4. 🀸 Quick Start
  5. πŸ•ΈοΈ Assets & Code
  6. πŸš€ More


βš™οΈ Tech Stack

  • Next.js
  • TypeScript
  • Clerk
  • getstream
  • shadcn
  • Tailwind CSS

πŸ”‹ Features

πŸ‘‰ Authentication: Implements authentication and authorization features using Clerk, allowing users to securely log in via social sign-on or traditional email and password methods, while ensuring appropriate access levels and permissions within the platform.

πŸ‘‰ New Meeting: Quickly start a new meeting, configuring camera and microphone settings before joining.

πŸ‘‰ Meeting Controls: Participants have full control over meeting aspects, including recording, emoji reactions, screen sharing, muting/unmuting, sound adjustments, grid layout, participant list view, and individual participant management (pinning, muting, unmuting, blocking, allowing video share).

πŸ‘‰ Exit Meeting: Participants can leave a meeting, or creators can end it for all attendees.

πŸ‘‰ Schedule Future Meetings: Input meeting details (date, time) to schedule future meetings, accessible on the 'Upcoming Meetings' page for sharing the link or immediate start.

πŸ‘‰ Past Meetings List: Access a list of previously held meetings, including details and metadata.

πŸ‘‰ View Recorded Meetings: Access recordings of past meetings for review or reference.

πŸ‘‰ Personal Room: Users have a personal room with a unique meeting link for instant meetings, shareable with others.

πŸ‘‰ Join Meetings via Link: Easily join meetings created by others by providing a link.

πŸ‘‰ Secure Real-time Functionality: All interactions within the platform are secure and occur in real-time, maintaining user privacy and data integrity.

πŸ‘‰ Responsive Design: Follows responsive design principles to ensure optimal user experience across devices, adapting seamlessly to different screen sizes and resolutions.

and many more, including code architecture and reusability.

🀸 Quick Start

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

 

Cloning the Repository

git clone https://github.com/adrianhajdin/zoom-clone.git
cd zoom-clone

Installation:

Install the project dependencies using npm:

npm install

 

Set Up Environment Variables

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=

 

Running the Project

npm run dev

3

Give a star to encourage!Discussion
KARAN
KARANa year ago

Excellent project for your growth

Login to join the discussion

More Builds by Chandan Singh

reactjs redux javascript forecast weather chakra ui, css and rest api.