A Full-Stack WebXR Project built with an intention to solve the problem of remote collaboration virtually with the help of 3D realistic rooms.
This project makes users collaborate virtually with 3D objects, audio/video/chat communication. It gives them ability to move around the room virtually with arrow keys, annotate on 3D objects, share video/images/pdf files in sync among all users in the same room.
All above features can be accessed directly from browsers without any installations on user's end.
- Three.JS
- WebXR
- WebRTC
- Socket.io
- Google Cloud Functions
- Firebase Hosting
Since this project is hosted on firebase and uses firebase's Realtime Database, Storage, Hosting services, Having Firebase command line tools becomes an base tool for entering into development.
- Node.js
- Firebase Command Line tool
npm
npm install -g firebase-tools
- Clone the repo
git clone https://github.com/Vaishya26/CS-5337.git
- Change Directiory to /functions to land on main project.
cd functions
- Install NPM packages
npm install
- Log into Firebase Project of CS-5337 using Google Sign-in after following command
firebase login
- To start Local Development and Testing server
firebase emulators:start
- To deploy current branch on main server
firebase deploy -m "Deployment Tag"
- Go to URL(https://cs5337.web.app)
Sign Up and Login by clicking on sign up link. Create a Room with credentails and join the room. Try to Upload Models (GLTF/GLB), Videos, Images, PDF files by clicking on Upload Button.
- To Move around and Interact with the scene.
Use Arrow Keys to move around the 3D Scene. Clicking mouse down with mouse Left Key and dragging the mouse helps to turn around from single point.
- Demo Video for understanding usage.
Distributed under the MIT License. See LICENSE
for more information.