MILES: Next-Gen Video Conferencing

Empowering seamless communication across distances

TypeScript Next.js Tailwind CSS

MILES Project Banner

🌟 About MILES

MILES is a cutting-edge video conferencing platform built with the latest web technologies. It aims to provide a seamless, secure, and feature-rich communication experience for teams and individuals alike.

šŸ“‹ Table of Contents

  1. šŸš€ Features
  2. šŸ› ļø Tech Stack
  3. šŸ Getting Started
  4. šŸ“˜ Usage Guide
  5. 🧰 Development
  6. šŸ“„ License

šŸš€ Features

  • šŸ” Secure Authentication: Powered by Clerk for robust user management
  • šŸŽ„ Instant Meetings: Start or join meetings with a single click
  • šŸ—“ļø Meeting Scheduler: Plan ahead with our intuitive scheduling tool
  • šŸ–„ļø Screen Sharing: Collaborate effectively with high-quality screen sharing
  • šŸŽšļø Advanced Controls: Manage participants, audio, and video with ease
  • šŸ“¹ Recording: Capture important sessions for future reference
  • šŸ‘„ Personal Rooms: Host recurring meetings in your dedicated virtual space
  • šŸ“± Responsive Design: Seamless experience across all devices
  • šŸ”— Easy Sharing: Invite participants with a simple link
  • šŸ”’ End-to-End Encryption: Ensure your conversations remain private

šŸ› ļø Tech Stack

  • Frontend: Next.js, TypeScript, Tailwind CSS
  • Authentication: Clerk
  • Real-time Communication: getstream
  • UI Components: shadcn/ui
  • Styling: Tailwind CSS

šŸ Getting Started

Prerequisites

  • Node.js (v14 or later)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/ayushmaninbox/miles.git
cd miles
  1. Install dependencies:
npm install
    or
yarn install
  1. Set up environment variables: Create a .env.local file in the root directory and add the following:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= ***your_clerk_publishable_key***
CLERK_SECRET_KEY= ***your_clerk_secret_key***

NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up

NEXT_PUBLIC_STREAM_API_KEY= ***your_stream_api_key***
STREAM_SECRET_KEY= ***your_stream_secret_key***

NEXT_PUBLIC_BASE_URL= ***your_public_base_url***
  1. Run the development server:
npm run dev
   or
yarn dev
  1. Open http://localhost:3000 in your browser to see the application.

šŸ“˜ Usage Guide

  1. Sign Up/Login: Use Clerk authentication to create an account or log in.
  2. Create a Meeting: Click on "New Meeting" to start an instant meeting or schedule one for later.
  3. Invite Participants: Share the meeting link with others to join your conference.
  4. Manage Your Meeting: Use the in-meeting controls to manage participants, share your screen, or record the session.

For more detailed instructions, please refer to our User Guide.

🧰 Development

Folder Structure

miles-project/
ā”œā”€ā”€ app/
│   ā”œā”€ā”€ (auth)/
│   ā”œā”€ā”€ (root)/
│   └── layout.tsx
ā”œā”€ā”€ components/
│   ā”œā”€ā”€ ui/
│   └── [component-name].tsx
ā”œā”€ā”€ lib/
ā”œā”€ā”€ public/
ā”œā”€ā”€ styles/
ā”œā”€ā”€ types/
ā”œā”€ā”€ .env.local
ā”œā”€ā”€ next.config.js
ā”œā”€ā”€ package.json
└── tailwind.config.js

Key Components

  • app/: Contains the main application logic and pages
  • components/: Reusable React components
  • lib/: Utility functions and custom hooks
  • styles/: Global styles and Tailwind CSS configuration

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Top categories

Loading Svelte Themes