Skip to content
/ VAC Public

Vehicle Access Control System for Gated Communities with License Plate Recognition Based on Progressive Web Application

Notifications You must be signed in to change notification settings

zhonghao23/VAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Vehicle Access Control System (VAC)

Vehicle Access Control System for Gated Communities with License Plate Recognition Based on Progressive Web Application

Motivation

The project is inspired by the exising system implemented in most of the gated communities which is using electronic access card to access the gated communities.

The existing system might be fine for the residents but it might be troublesome and time-consuming for the visitors to access the gated communities.

The proposed system is powered by the license plate recognition (LPR) technology which can detects and identify the vehicle's license plate to grant access accordingly.

The access lists are managed by the residents which means that the residents are the one who decide if the visitors are allowed to access the gated communities easily through their license plates registered.

The visitors could make a request for access through the web application that requires approval from the residents.

The residents are responsible for either approving their own visitors' request for access or add the visitors to their whitelist to grant access.

The security management office could make use of the web application to monitor the records of visits, records of vehicles' entry and exit and so on.

Target Users

  1. Resident
  2. Visitor
  3. Security Management Office

Features

  1. Resident

    1. To sign in and logout from the system.
    2. To view their own profile.
    3. To change the account password.
    4. To view their registered license plate number.
    5. To register their own license plate number.
    6. To register the license plate number of their visitors. (Whitelist)
    7. To blacklist a license plate number.
    8. To remove a license plate from the list.
    9. To view the access requests.
    10. To approve or reject the access requests of their visitors.
    11. To access residential areas with their registered license plate.
  2. Visitor

    1. To fill in their information and license plate number to make a request to the resident for access to the residential area.
    2. To check the approval status of the request.
    3. To access the residential area with their license plate upon approval by the resident.
    4. To access the residential area with their license plate upon successful registration of their license plate done by the resident.
  3. Security Management Office

    1. To sign in and logout from the system.
    2. To view their own profile.
    3. To create or reset an account for new residents.
    4. To view the information of residents.
    5. To view the record of visits made by the visitors.
    6. To view the record of vehicles’ entry and exit to the residential area.

Tech/Framework used

  1. Vue.JS (Frontend)
  2. Flask (Backend)
  3. OpenCV (License Plate Recognition/Image Processing)
  4. TesseractOCR (Optical Character Recognition)
  5. RESTful API
  6. Flask-SQLAlchemy

Languages

  1. HTML5
  2. CSS3
  3. Javascript
  4. Python
  5. Microsoft SQL Server

built with

  1. VSCode
  2. Microsoft SQL Server Management Studio 2018

Screenshots

License Plate Recognition (LPR)

Sample Video

image

Extracted License Plate

image

Result

image

Progressive Web Application (PWA)

Sample UI

image

image

image

image

image

Progressive Web App Features

image

image

image

Installation

SQL Server

  1. Open up SSMS and restore the ‘VAC-04032021.bak’ file and set the destination database name as ‘VAC’.
  2. Version 15++

vac-lpr.py

  1. Find <conn = pyodbc.connect('Driver={SQL Server};''Server=LAPTOP-H1SOMBBM\SQLEXPRESS;''Database=VAC;''Trusted_Connection=yes;')> and change the Server to your device's server name.
  2. Change the path <pytesseract.pytesseract.tesseract_cmd = r'C:\example\'> to the destination of 'tesseract.exe' installed on your device.
  3. Change the path <os.chdir(r'C:\Users\zhong\Desktop\Mr_CHIAM_ZHONG_HAO_TP045889_UC3F2007_CS\VAC-LPR\contours')> to anywhere you want to store the cropped contours.
  4. Change the path <cap = cv2.VideoCapture(r''C:\example\') > to the destination of sample video stored.

config.py

  1. Change the 'host' to your device's server name.

Backend

  1. Open up command line and change the directory to the lcoation where 'vac-backend' stored. Type <python app.py> to start the backend server in development mode.

Frontend

  1. Open up command line and change the directory to the lcoation where 'vac-frontend' stored. Type <npm run serve> to start the frontend server in development mode.

About

Vehicle Access Control System for Gated Communities with License Plate Recognition Based on Progressive Web Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published