nowconnect is a video meeting application built with Next.js, Shadcn UI, Clerk for authentication, and Stream Video SDK for video call functionality. The application allows users to schedule, join, and manage video meetings. It also supports viewing upcoming meetings, past meetings, and recorded meetings.
- User Authentication: Secure authentication using Clerk.
- Video Meetings: Create, join, and manage video meetings with Stream Video SDK.
- Upcoming Meetings: View a list of scheduled meetings.
- Past Meetings: View a list of past meetings.
- Recorded Meetings: Access and view recorded meetings.
- Responsive Design: Ensures a great user experience on both desktop and mobile devices.
- Click on the "Schedule Meeting" button.
- Fill in the meeting details such as title, description, and select a date and time.
- Click "Create Meeting" to schedule the meeting. If successful, the meeting link will be copied to the clipboard.
- Click on the "Join Meeting" button.
- Enter the meeting code or link.
- Join the meeting.
- Click on the "Recordings" button to view all recorded meetings.
- Click on a recording to view the details and playback.
The UI components are styled using Tailwind CSS. You can customize the styles by editing the Tailwind configuration and CSS classes in the components. Used shadcn for some components.
Modals are implemented to handle different types of meetings (instant, scheduled, and joining). You can find the modal component and customize its behavior and appearance.
Several custom hooks are used for managing the state and API calls. For example, useGetCallsByUser
fetches the calls associated with the logged-in user.
- Ensure your system clock is accurate to avoid JWT token errors with Clerk.
- This can be fixed by syncing the time in your system settings.
- If you encounter any issues with the video SDK, refer to the Stream documentation for troubleshooting.
This repository was very helpful for this project: Zoom Clone