https://github.com/themihirmathur/voom
"Voom" is a streamlined, modern video conferencing tool inspired by the widely used Zoom platform. Built with the latest technologies, Voom offers a secure and intuitive experience for users to log in, create meetings, and utilize a variety of conferencing features.
https://github.com/themihirmathur/voom
authorization clerk getstream-io nextjs shadcn-ui tailwindcss typescript
Last synced: 2 months ago
JSON representation
"Voom" is a streamlined, modern video conferencing tool inspired by the widely used Zoom platform. Built with the latest technologies, Voom offers a secure and intuitive experience for users to log in, create meetings, and utilize a variety of conferencing features.
- Host: GitHub
- URL: https://github.com/themihirmathur/voom
- Owner: themihirmathur
- Created: 2024-06-23T17:45:43.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-23T18:03:20.000Z (almost 2 years ago)
- Last Synced: 2025-11-22T20:04:18.292Z (7 months ago)
- Topics: authorization, clerk, getstream-io, nextjs, shadcn-ui, tailwindcss, typescript
- Language: TypeScript
- Homepage: https://github.com/themihirmathur/Voom
- Size: 764 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Voom | A Minimalistic Zoom Clone 🎥



## Introduction
Voom is a streamlined, modern video conferencing tool inspired by the widely used Zoom platform. Built with the latest technologies, Voom offers a secure and intuitive experience for users to log in, create meetings, and utilize a variety of conferencing features. Our platform supports essential functionalities such as recording, screen sharing, and participant management, all wrapped in a minimalistic design.

## ⚙️ Tech Stack
- **Next.js**: A powerful React framework for building server-side rendered applications.
- **TypeScript**: A strongly typed programming language that builds on JavaScript, adding static type definitions.
- **Clerk**: A user authentication and management solution that simplifies secure login and authorization.
- **getstream**: A scalable, feature-rich activity feed and chat API for enhancing user interaction.
- **shadcn**: A component library for creating beautiful and consistent UI.
- **Tailwind CSS**: A utility-first CSS framework for rapid UI development.

## Features
### Authentication
- **Secure Login**: Implemented via Clerk, supporting social sign-on and traditional email/password methods.
- **Authorization**: Ensures appropriate access levels and permissions within the platform.
### Meeting Management
- **New Meeting**: Quickly start a new meeting, configuring camera and microphone settings beforehand.
- **Meeting Controls**: Full participant control, including:
- Recording sessions
- Emoji reactions
- Screen sharing
- Mute/unmute options
- Sound adjustments
- Grid layout
- Participant list view
- Individual participant management (pinning, muting, unmuting, blocking, allowing video share)
- **Exit Meeting**: Options to leave a meeting or end it for all attendees.
### Scheduling & History
- **Schedule Future Meetings**: Input details (date, time) to schedule and manage future meetings.
- **Past Meetings List**: Access a list of previous meetings with details and metadata.
- **View Recorded Meetings**: Review or reference recordings of past meetings.
### Personal Room
- **Unique Meeting Link**: Each user has a personal room with a unique link for instant meetings.
### Join Meetings
- **Via Link**: Easily join meetings created by others by providing a meeting link.
### Real-time Interaction
- **Secure Real-time Functionality**: Ensures all interactions within the platform are secure and occur in real-time, maintaining user privacy and data integrity.
### Responsive Design
- **Adaptive UI**: Designed to provide an optimal user experience across devices, adapting seamlessly to different screen sizes and resolutions.
### Additional Features
- **Code Architecture**: Emphasizes clean, maintainable, and reusable code.

## 🤸 Quick Start
You can follow these steps to set up the project locally on your machine.
### Prerequisites
Ensure you have the following installed on your machine:
- Git
- Node.js
- npm (Node Package Manager)
### Cloning the Repository
```sh
git clone https://github.com/adrianhajdin/zoom-clone.git
cd zoom-clone
```
### Installation
Install the project dependencies using npm:
```sh
npm install
```
### Set Up Environment Variables
Create a new file named `.env` in the root of your project and add the following content:
```env
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 and getstream credentials. Obtain these credentials by signing up on the [Clerk website](https://clerk.dev) and [getstream website](https://getstream.io).
### Running the Project
```sh
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser to view the project.
---
By following these steps, you'll have Voom up and running on your local machine, ready to provide a seamless and feature-rich video conferencing experience.