Welcome to Yoomi, a video-sharing web application that replicates the functionality of Zoom. Yoomi enables users to securely log in, create meetings, and access various meeting functionalities such as recording, screen sharing, and managing participants. Built with TypeScript, Liveblocks, Fabric.js, Shadcn, and Tailwind CSS, Yoomi offers a seamless and secure video conferencing experience.
TECHNOLOGIES USED
Frontend:
- TypeScript: A statically typed superset of JavaScript for building scalable and robust applications.
- Tailwind CSS: A utility-first CSS framework for styling web interfaces.
Backend:
- Liveblocks: A platform for building real-time collaborative applications.
- Fabric.js: A JavaScript library for interactive and customizable HTML5 canvas graphics.
- Shadcn: A library for implementing shadow effects in web applications.
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.
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Inter, a custom Google Font.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.