MILES: Next-Gen Video Conferencing
Empowering seamless communication across distances
š 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
- š Features
- š ļø Tech Stack
- š Getting Started
- š Usage Guide
- š§° Development
- š 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
- Clone the repository:
git clone https://github.com/ayushmaninbox/miles.git
cd miles
- Install dependencies:
npm install
or
yarn install
- 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***
- Run the development server:
npm run dev
or
yarn dev
- Open http://localhost:3000 in your browser to see the application.
š Usage Guide
- Sign Up/Login: Use Clerk authentication to create an account or log in.
- Create a Meeting: Click on "New Meeting" to start an instant meeting or schedule one for later.
- Invite Participants: Share the meeting link with others to join your conference.
- 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.