Skip to content
This repository has been archived by the owner on Oct 26, 2023. It is now read-only.

This Repository is my submission of the code challenge for the GSoC 2021 proposed project Real Time Collaborative Pathology by caMicroscope

Notifications You must be signed in to change notification settings

Hemansh31/Real_time_Collaborative_Pathology_code_Challenge

Repository files navigation

Real_time_Collaborative_Pathology_code_Challenge

This Repository is my submission of the code challenge for the GSoC 2021 proposed project Real Time Collaborative Pathology by caMicroscope

Please do watch this demo video to understand the workflow : Demo Video

For the Dockerized Version of this Code Challenge Checkout the branch second_version

Instructions for running the code

Please Run the Web Application in Google Chrome as it's been tested for Chrome only as of now

  1. Clone this repository ( Note this repository is large only because of the sample slides I chose which are around 200MB in size)
  2. Run command npm install in the directory where you cloned this repo.
  3. Open two terminal windows in the same directory
  4. In one terminal window run node peer-server.js
  5. In other terminal window run node server.js

(Note that peer server is running on localhost/9000 and server is running on localhost/3000.)

  1. Go to the browser and open http://localhost:3000/

Explanation of my Implementation of the code challenge

Although, the code challenge was just the chat app, I instead developed a basic prototype for the Real Time Collaborative Pathology Project which includes chat, basic video call (I have not implemented audio in this prototype intentionally), viewing participants list and syncing of Panning and Zooming of the Openseadragon instances.

Workflow of my Project is as follows :

  1. On the Home Page you will see two options
  • Start Digital Slide Conference : Select any slide and then click on this option. This basically creates a new Room(socket.io) for the meeting.
  • Join Conference : This option will let you join a running meeting after you provide the Room ID.
  1. After starting or joining a meeting you see the slide and the following options :
Icon Image Title Function
Meeting Details Details of the meeting, most important is Conference ID which is needed by anyone who wants to join a meeting
Video Gallery Click this to see incoming video and you can also start your own video by clicking the video camera icon which appears after clicking this
Chat Send Broadcast messages to people in the meeeting (in the room basically)
Participants List of People who are in the meeting (in the room basically)
Leave Meeting Leave Meeting (exit room) and go back to Home Page

About

This Repository is my submission of the code challenge for the GSoC 2021 proposed project Real Time Collaborative Pathology by caMicroscope

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages