Skip to content

Mirrors kiosk's screen to customer's phone by QR code scan to complete transaction without ever touching the kiosk

License

Notifications You must be signed in to change notification settings

SavanK/touchless-kiosk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Touchless Kiosk

Overview

Customer scans the QR code on a public kiosk to mirror the kiosk's screen to his phone to use it, thereby avoiding touching the Kiosk screen.

Demo

https://github.com/SavanK/touchless-kiosk/blob/main/demo/touchless-kiosk-demo.mp4

touchless-kiosk-demo.mp4

High level design

  • Uses webRTC to share kiosk screen to customer's phone
  • On the customer's phone,
    • webRTC client is written in javascript and hence can be rendered as a webpage in any browser (quick and convenient as no app installation needed)
    • captures user's touch events on the streamed screen and transmits to kiosk
  • On the Android kiosk's side,
    • a foreground service streams the kiosk screen through webRTC
    • an accessibility service injects touch events received from customer as gestures
  • A Ktor application hosted on heroku acts as both,
    • a signalling server for webRTC session (after initial handshake between customer and kiosk done through Ktor app, the video is streamed through peer-to-peer communication)
    • maintains active list of registered kiosks to which customers can connect to
    • handles session initiation and teardown between a customer and a kiosk

About

Mirrors kiosk's screen to customer's phone by QR code scan to complete transaction without ever touching the kiosk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published