Holoverse - Immerse Yourself in Virtual Events
Better Spaces to Host Online Events. A virtual events platform that brings people together in customizable 2D environments with proximity-based interactions.
✨ Features
- Customizable 2D Avatars - Fully customizable avatars that reflect your unique style
- Themed Virtual Spaces - Create and explore spaces with different themes, sizes, and privacy options
- Proximity Media Interactions - Engage in natural conversations with audio and video that dynamically appear based on proximity
- Realtime Participant Status - See who’s talking, who’s active, and more with real-time participant updates
- Interactive Elements - Use virtual whiteboards and other tools to collaborate just like in the real world
- Media and Hardware Controls - Full control over your experience with options like spatial audio, sound effects, and AI-powered noise cancellation
- Text Chat with Emojis & Emotes - Engage with others through global text channels filled with emojis and animated emoticons
- Help Signals - Raise your hand to get assistance in real time
🛠️ Tech Stack
- Next.js - Framework for server-rendered React applications
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Redis - In-memory data structure store
- BullMQ - Message queue for background jobs
- Mediasoup - WebRTC media server for real-time communication
- PostgreSQL - Relational database
- Node.js - JavaScript runtime for server-side logic
🎯 Key Highlights
Virtual Spaces
Holoverse offers fully customizable and themed spaces, where users can interact using their avatars. These spaces are designed to mimic real-world scenarios, offering a seamless blend of visual and auditory interaction.
Collaborative Tools
The platform includes interactive elements like whiteboards, allowing users to brainstorm and collaborate effectively within the virtual environment.
Proximity-Based Communication
Audio and video interactions dynamically appear based on avatar proximity, creating natural conversation flows similar to real-world interactions.
📋 Prerequisites
Before you begin, ensure you have the following installed:
- Node.js v14 or higher
- PostgreSQL database
- Redis server
- Mediasoup dependencies
⚙️ Installation & Setup
-
Clone the Repository
git clone https://github.com/Nginze/project-vhub.git cd project-vhub -
Install Dependencies
npm install -
Configure Environment Variables
Create a
.envfile in the root directory:DATABASE_URL=your_postgresql_database_url REDIS_URL=your_redis_url MEDIASOUP_LISTEN_IP=your_server_ip -
Set Up the Database
Run migrations to set up the PostgreSQL database schema:
npx prisma migrate dev
🚀 Running the Application
-
Start the Development Server
npm run devThe app should now be running on
http://localhost:3000 -
Building for Production
npm run build -
Start the Production Server
npm start
🎨 Use Cases
- Virtual conferences and meetups
- Online workshops and training sessions
- Remote team collaboration
- Virtual networking events
- Educational seminars and classes
📄 License
This project is open source and available under the MIT License.