Skip to content

A Video Calling Platform which tackles the problem of zoom bombing and anonymous interrupts , during a video meet, with the usage of face recognition technology.

Notifications You must be signed in to change notification settings

rajprem4214/Face-Meet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Face Meet

Are anonymous interruptions in your video meeting driving you crazy? Do you need a security solution that lets real people attend your meeting?

Do not worry; we have you covered. We now present Face Meet.

A GenZ video calling platform called Face Meet provides 2FA (Two Factor Authentication), which consists of face recognition and email password verification technology. Only those who have registered are allowed to join meetings after a successful image verification.

Therefore, before setting up a meet, a user must register on our site with an email address, a password, and a photo. Users who want to attend the meeting must complete the registration process as well. To ensure that a real individual really attended the meet, a face verification is done after registration.

Build with help of Face Recognition Library in Python, it gives an accuracy of 99.38%.

Want to host or join a meet, just register and you are good to go.

Demo

Video Link

Meet Glance

HomePage

Register Page Login Page
Register login
Face Verification Video Meet
Faa meet

Table of Contents

Features

  • Video conferencing

    • Hassle free group calls
    • Total capacity of 50+ users.
    • In Meet messaging
    • Screen Sharing
  • Security Control (X-factor / Flagship)

    • 2FA with Email Verification and Face Recogniton.
  • Cloud Storage

    • Implemented cloud storage for data, no need for local DB.
    • Grid FS for storing large size image.
  • PWA

    • Download and add to homescreen/desktop for ease of access.
    • Smooth installation, native-like behaviour and access to device hardware.
  • Authentication

    • Login using gmail account.
    • Auth check in meet to prevent unauthorized users from entering.

TechStack

Key Technologies Used

  1. Front End / Client Side

    • ReactJS
    • Bootstrap - CSS and other components
    • React Webcam - Capture User's Image
  2. BackEnd Server:

    • For Face Recognition

      • Face Recognition Library - calculate encodings
      • Open CV - Compare Image on basis of encodings.
    • For video calling

      • Twilio Video API - Create Real-Time Video App
      • Twilio Cloud - Connect room participants.
  3. Data Management (Databases):

    • MongoDB Atlas - Data management and user details
    • Grid FS - Storing image with base64 data.

Installation

Pre-Requisites:

  1. Install Git Version Control [ https://git-scm.com/ ]

  2. Install Python Latest Version [ https://www.python.org/downloads/ ]

  3. Install Pip (Package Manager) [ https://pip.pypa.io/en/stable/installing/ ]

  4. Install MongoDB Compass and connect it to localhost 27017 [ Atlas Connection is quite slow and may not work everytime ]

  • Uncomment the following code in app.py to change the connection as per requirement.

    Faa

Clone the project:

  git clone https://github.com/rajprem4214/Face-Meet.git

Go to the project directory

  cd Face-Meet

Backend Server:

Go to backend folder

  cd backend

Create a Virtual Environment and Activate:

Install Virtual Environment

  pip install virtualenv

Create Virtual Environment:

  virtualenv venv

Go to venv folder and Activate virtual enviroment

  cd venv

Run the following command

  .\Scripts\activate.ps1

Go back to backend folder

  cd ..

Install Requirements from 'requirements.txt'

  pip install -r requirements.txt

Start the backend server

 flask run

Frontend Server:

Go to frontend folder

 cd frontend

Install all dependencies

 npm install

Start frontend server

 npm run start

Local Url for Server:

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

TWILIO_ACCOUNT_SID=AC612f9ab098d697e6d572725234130052
TWILIO_API_KEY_SID=SKf1a116bd7f1c50a6e6988e875c9b85a2
TWILIO_API_KEY_SECRET=YPe9sOZP25xzUxnMd6xLXBKfigNmTJRC

Appendix

MongoDB Cloud Credentials:

Database Name: images
Collections Name: image

APIReference

Verify User Image:

  POST /api

Register User:

 GET POST /create

Create or join room:

  POST /join-room

Documentation

PPT Documentation

regppt

logppt

twilppt

Optimizations

  • Reduced time in image encoding by not taking encodings of whole image DB.
  • Instead, retrieve image id during login and match that particular image with cam image.

Future Aspects

  • Add user id in URLs for each user for more authentication.
  • Store image in IPFS distributed storage for privacy concerns.

Authors

About

A Video Calling Platform which tackles the problem of zoom bombing and anonymous interrupts , during a video meet, with the usage of face recognition technology.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published