Code Monkey home page Code Monkey logo

real_time_collaborative_pathology_code_challenge's Introduction

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

real_time_collaborative_pathology_code_challenge's People

Contributors

hemansh31 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.