Skip to content

🌐 A full-stack video conference app built with Next.js and TypeScript πŸš€, featuring secure authentication πŸ”, real-time interactions πŸ’¬, and comprehensive meeting controls πŸŽ₯ for an enhanced user experience! ✨

Notifications You must be signed in to change notification settings

MuhammadHunainKhurram/video-conference-app

Repository files navigation

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

Authentication: Implemented authentication and authorization features using Clerk, enabling secure user logins via social sign-on or traditional email and password methods, ensuring granular access control.

New Meeting: Initiated new meetings swiftly, configuring camera and microphone settings beforehand for seamless join-in.

Meeting Controls: Empowered participants with comprehensive meeting controls, including recording, emoji reactions, screen sharing, muting/unmuting, sound adjustments, grid layout, participant list view, and individual management (pinning, muting, unmuting, blocking, video share permissions).

Exit Meeting: Managed meeting closures, allowing participants to leave or creators to end sessions for all attendees.

Schedule Future Meetings: Scheduled upcoming meetings with specified date and time, accessible via the 'Upcoming Meetings' page for easy sharing or immediate access.

Past Meetings List: Provided access to detailed logs of previous meetings, including metadata for reference.

View Recorded Meetings: Enabled viewing of recorded meeting sessions for review or archival purposes.

Personal Room: Established personalized meeting rooms with unique links for instant gatherings, shareable among participants.

Join Meetings via Link: Facilitated easy access to others' meetings through shared links.

Secure Real-time Functionality: Ensured all platform interactions were secure and real-time, safeguarding user privacy and data integrity.

Responsive Design: Implemented responsive design principles for optimal user experience across diverse devices, seamlessly adapting to varying screen sizes and resolutions.

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/MuhammadHunainKhurram/video-conference-app.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=

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

Running the Project

npm run dev

Open http://localhost:3000 in your browser to view the project.

About

🌐 A full-stack video conference app built with Next.js and TypeScript πŸš€, featuring secure authentication πŸ”, real-time interactions πŸ’¬, and comprehensive meeting controls πŸŽ₯ for an enhanced user experience! ✨

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published