As part of Microsoft Engage'21 Mentorship Program , I made Microsoft Teams Clone by using Agile Methodology.
- User Authentication
- Flash messages for incorrect email, password during login
- Flash messages for not password matching , password length less than 6 and not filling the required details during Signup
- Can't acces chat, meet, note and home section without authentication
- Video call with friends
- More than two users are able to connect.
- Add custom name to join the call
- Add custom name to create meeting url
- Chat during the call and and continue after meeting
- Invite more users
- Present screen
- Switch audio on/off
- Switch video on/off
- Chat with friends
- Store chats
- Send images and videos
- Speech to text
- Don't wanna write , speak and send the message.
- Download video
- Picture in picture mode
- Full screen video
- Make customised notes
- Save notes
- delete notes
- Username avatar
- Profile details on clicking profile picture.
- Secured Password
- React - building user interface
- Express - fast node.js network app framework
- Redux - State management
- MongoDB - Database
- Bcrypt - hashing every password with a salt
- Socket.io - real-time, bidirectional and event-based communication
- WebRTC - audio and/or video media, as well as to exchange data
- SpeechRecognition - text to speech
- Multer - uploading files
- Cloudinary - uploading files(Heroku does not store your data)
- JWT - authorization using sessions
- Cookie-parser - parse cookies attached to the client request object
It requires Node.js and MongoDB to run.
- replace the server url https://komalmahto-microsoft-teams.herokuapp.com/ with http://localhost:5000/
- proxy under package.json to http://localhost:5000/
cd client
npm i
npm start
- make dev.js file inside config folder
- put mongoDB url into dev.js file
npm i
cd server
nodemon index.js
Open browser and goto http://localhost:3000/
>