这是indexloc提供的服务,不要输入任何密码
Skip to content

obrucheoghene/mitsi-web

 
 

Repository files navigation

Mitsi: Open-Source Video Conferencing

Welcome to Mitsi, a modern, open-source video conferencing platform powered by mediasoup. Inspired by Jitsi, Mitsi delivers low-latency, scalable video and audio calls, screen sharing, and real-time chat using WebRTC. Built with a microservices architecture, Mitsi is designed for extensibility, ease of deployment, and community contributions.

mitsi-ui

Why Mitsi?

  • Scalable: Leverages mediasoup’s Selective Forwarding Unit (SFU) for efficient media routing.
  • Modular: Separate repositories for each microservice ensure independent development and deployment.
  • Developer-Friendly: Built with TypeScript, Node.js, and React, with clear documentation and tools like npm, ESLint, Prettier, and Jest.
  • Open-Source: Licensed under the MIT License to encourage adoption and contributions.

Repositories

Mitsi is organized into separate GitHub repositories under the softhon organization:

  • mitsi-web: Mitsi web client - react base web application for mitsi.
  • mitsi-mobile: Mitsi mobile app - react native application for mitsi.
  • mitsi-signaling: Mitsi Signaling Service for manage peer connections and room coordination.
  • mitsi-media: Mitsi media service powered by mediasoup for media routing.
  • mitsi-room-management: Manages rooms and participants (Node.js, Express).
  • mitsi-recording: Media recording and storage (Node.js, S3).
  • mitsi-docs:Mitsi documentation - a guide for contributors and developers.

Getting Started

To run Mitsi locally or contribute, follow these steps:

  1. Clone Repositories:

    git clone https://github.com/softhon/mitsi-<repo>.git

    Clone the desired repos (e.g., mitsi-client, mitsi-signaling, mitsi-media, mitsi-room-management for the MVP).

  2. Install Prerequisites:

    • Node.js >= 18
    • npm >= 9
    • Docker (optional, for containerized deployment)
  3. Set Up Locally:

    • Navigate to each repo and follow its README.md or docs/setup.md for specific instructions.
    • For a full stack, use the docker-compose.yml in this repo:
      docker-compose up
  4. Run Development Environment:

    • Example for mitsi-signaling:
      cd mitsi-signaling
      npm install
      npm run dev
    • Visit http://localhost:3000 to test the signaling server.
  5. Explore Documentation:

    • Visit mitsi.app (coming soon) or browse this repo’s docs/ folder for architecture, API details, and setup guides.

Architecture

Mitsi uses a microservices architecture with separate repositories for modularity:

  • Client: React app (mitsi-client) connects to signaling and room management services.
  • Signaling: WebSocket service (mitsi-signaling) handles peer coordination and ICE candidates.
  • Media: Mediasoup SFU (mitsi-media) routes audio/video streams.
  • Room Management: Tracks rooms and participants (mitsi-room-management).
  • Supporting Services: Authentication, recording, chat, and analytics in separate repos.

See docs/architecture.md for a detailed diagram and API contracts.

Contributing

We welcome contributions! To get started:

  • Read CONTRIBUTING.md for guidelines.
  • Browse issues in each repo, especially those tagged good-first-issue.
  • Join our Discord (coming soon) for discussions.

License

Mitsi is licensed under the MIT License. Each repository includes its own LICENSE file.

Contact

  • Website: mitsi.app (coming soon)
  • GitHub: softhon
  • Community: Join our Discord or use GitHub Discussions in each repo.

About

Mitsi web client - react base web application for mitsi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.1%
  • CSS 5.9%
  • HTML 4.0%
  • Other 1.0%