├── .env.example ├── client ├── public │ ├── robots.txt │ ├── favicon.ico │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── index.html ├── src │ ├── screens │ │ ├── RoomScreen │ │ │ ├── .fuse_hidden00011a4d00000002 │ │ │ ├── RoomScreen.css │ │ │ ├── RoomService.js │ │ │ ├── RoomUtils.js │ │ │ └── RoomScreen.js │ │ ├── Warning.js │ │ ├── DashboardScreen.js │ │ ├── LoginScreen.js │ │ └── RegisterScreen.js │ ├── index.js │ ├── components │ │ ├── Video.js │ │ └── Nav.js │ ├── hooks │ │ └── useAuthentication.js │ ├── App.js │ ├── App.css │ ├── routing │ │ ├── PCRoute.js │ │ └── Routes.js │ └── index.css ├── .env.example └── package.json ├── screenshots ├── Meeting1.png └── Meeting2.png ├── .gitignore ├── package.json ├── readme.md ├── models └── UserModal.js ├── routes └── user.js └── server.js /.env.example: -------------------------------------------------------------------------------- 1 | SECRET= 2 | DATABASE= 3 | CORS_ORIGIN=http://localhost:8000 4 | -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /screenshots/Meeting1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/screenshots/Meeting1.png -------------------------------------------------------------------------------- /screenshots/Meeting2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/screenshots/Meeting2.png -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/client/public/logo192.png -------------------------------------------------------------------------------- /client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/client/public/logo512.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /client/.env 2 | /client/build 3 | /client/node_modules/ 4 | 5 | public 6 | node_modules/ 7 | .env 8 | .idea 9 | -------------------------------------------------------------------------------- /client/src/screens/RoomScreen/.fuse_hidden00011a4d00000002: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdjahidhasan009/Meeting/HEAD/client/src/screens/RoomScreen/.fuse_hidden00011a4d00000002 -------------------------------------------------------------------------------- /client/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | 6 | ReactDOM.render( 7 | 8 | 9 | , 10 | document.getElementById('root') 11 | ); 12 | -------------------------------------------------------------------------------- /client/.env.example: -------------------------------------------------------------------------------- 1 | REACT_APP_BASE_URL=http://localhost:8000 2 | REACT_APP_GOOGLE_STUN_SERVER=stun:stun.l.google.com:19302 3 | 4 | REACT_APP_TURN_SERVER1_NAME= 5 | REACT_APP_TURN_SERVER1_USERNAME= 6 | REACT_APP_TURN_SERVER1_PASSWORD= 7 | 8 | REACT_APP_TURN_SERVER2_NAME= 9 | REACT_APP_TURN_SERVER2_USERNAME= 10 | REACT_APP_TURN_SERVER2_PASSWORD= 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Meeting", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "bcryptjs": "^2.4.3", 8 | "cors": "^2.8.5", 9 | "dotenv": "^8.2.0", 10 | "express": "^4.17.1", 11 | "jsonwebtoken": "^8.5.1", 12 | "mongoose": "^5.10.11", 13 | "path": "^0.12.7", 14 | "simple-peer": "^9.11.1", 15 | "socket.io": "^2.3.0" 16 | }, 17 | "scripts": { 18 | "start": "PROD=true node server.js" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/components/Video.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useRef } from 'react'; 2 | 3 | const Video = (props) => { 4 | const ref = useRef(); 5 | 6 | useEffect(() => { 7 | // if (props.peer && props.peer.peer) { 8 | props.peer.peer.on("stream", stream => { 9 | ref.current.srcObject = stream; 10 | }); 11 | // } 12 | //eslint-disable-next-line 13 | }, []); 14 | 15 | return ( 16 |