React Connect (A Google Chrome browser extension) is a chat app using http://material-ui.com/, http://facebook.github.io/flux/, http://facebook.github.io/react/ and http://socket.io/
Clone this repo and follow below steps to run the app
- Install NodeJS using http://nodejs.org/
- Go to
serverdirectory & runnpm installusing command line (installs node dependencies) - 👇And run command
node index.jsto start the servers - http (@ port 3003) and https (@ port 3004) - Install ngrok https://ngrok.com and add it to you env PATH variable
- Run
ngrok 3003from command line. You will get Tunnel details, - Copy Secure
Forwarding addresseg. https://<generated_random_no>.ngrok.com - Replace all occurances(around 8) of old ngrok address(https://5f24a071.ngrok.com) with new copied one (https://<generated_random_no>.ngrok.com). [Search and replace in entire react-connect source code.]
- Using command line
npm installin the root directory of the project (installs node dependencies) - Run
npm startin command line to start watcher (createsdist/js/bundle.js) - Use
distdirectory to pack as chrome extension- Open
chrome://extensionsin Google Chrome browser - Drag your
distdirectory from the file system and drop onchrome://extensionspage - Enable
Developer Modeby clicking on checkbox - 😠 Copy
IDof our droppedConnectapp & paste it at line no.44 inserver/contentframe.js
- Open
- SSL permission for localhost
- In a Chrome tab Open
https://localhost:3004/contentframe.html - Click on
Advanced - Click on
Proceed to localhost (unsafe)
- In a Chrome tab Open
- Enabling Microphone access
- On opening of
https://localhost:3004/contentframe.htmlfirst time, Once you ssl permission is success, You will get a popup asking permission to access microphone - Click
Allow
- On opening of
- Open any website in chrome (except built in browser pages 💡)
- Click on
CONNECTextension icon - Enter email address for the first-time
- Click on
JOINbutton & Enjoy
NOTES:
- 👇 Eventually servers should be running in a public address so that users can chat across machines.
- 😠 This annoyance will be removed eventually
- 💡 Injecting iframe to webpages(using content script) to use
WebkitSpeechRecognitionapi. Since we cannot inject content scripts to browser's default pages. We should be in a website to use extension's voice input.




