๐ Table of Contents
- ๐ค Introduction
- โ๏ธ Tech Stack
- ๐ Features
- ๐คธ Quick Start
Technology | Description | Role |
---|---|---|
Next.js | A React framework for building fast, SEO-friendly web applications. | Provides the core structure for server-side rendering, routing, and efficient data fetching. |
TypeScript | A typed superset of JavaScript that compiles to plain JavaScript. | Ensures type safety, better code readability, and fewer runtime errors during development. |
Tailwind CSS | A utility-first CSS framework for rapid UI development. | Speeds up the styling process with pre-defined classes for customizing the user interface easily. |
Clerk | An API for managing user authentication and identity. | Facilitates secure and efficient user login, sign-up, and session management for Yoom users. |
Stream | A scalable API for real-time chat and video functionalities. | Powers Yoomโs video calling and real-time messaging features, enabling seamless communication. |
Shadcn/UI | A React component library with modern design. | Provides pre-built UI components for a consistent and responsive design throughout the application. |
getstream.io | A service for scalable, real-time messaging and notifications. | Implements chat functionalities, allowing users to communicate in real-time during meetings. |
Vercel | A cloud platform for static sites and serverless functions. | Hosts and deploys Yoom, ensuring high performance and automatic scaling for large traffic loads. |
Built with the latest Next.js and TypeScript, this project replicates Zoom, a widely used video conferencing tool. It enables users to securely log in, create meetings and access various meeting functionalities such as recording, scheduling meetings, screen sharing, and managing participants.
- Next.js
- TypeScript
- Clerk
- getstream
- Shadcn/ui
- Tailwind CSS
๐ 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.
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/soura07/YOOM_Online_Meeting_Platform.git
cd Yoom