Vehicle Access Control System for Gated Communities with License Plate Recognition Based on Progressive Web Application
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.
- Resident
- Visitor
- Security Management Office
-
Resident
- To sign in and logout from the system.
- To view their own profile.
- To change the account password.
- To view their registered license plate number.
- To register their own license plate number.
- To register the license plate number of their visitors. (Whitelist)
- To blacklist a license plate number.
- To remove a license plate from the list.
- To view the access requests.
- To approve or reject the access requests of their visitors.
- To access residential areas with their registered license plate.
-
Visitor
- To fill in their information and license plate number to make a request to the resident for access to the residential area.
- To check the approval status of the request.
- To access the residential area with their license plate upon approval by the resident.
- To access the residential area with their license plate upon successful registration of their license plate done by the resident.
-
Security Management Office
- To sign in and logout from the system.
- To view their own profile.
- To create or reset an account for new residents.
- To view the information of residents.
- To view the record of visits made by the visitors.
- To view the record of vehicles’ entry and exit to the residential area.
- Vue.JS (Frontend)
- Flask (Backend)
- OpenCV (License Plate Recognition/Image Processing)
- TesseractOCR (Optical Character Recognition)
- RESTful API
- Flask-SQLAlchemy
- HTML5
- CSS3
- Javascript
- Python
- Microsoft SQL Server
built with
- VSCode
- Microsoft SQL Server Management Studio 2018
- Open up SSMS and restore the ‘VAC-04032021.bak’ file and set the destination database name as ‘VAC’.
- Version 15++
- 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. - Change the path
<pytesseract.pytesseract.tesseract_cmd = r'C:\example\'>
to the destination of 'tesseract.exe' installed on your device. - 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. - Change the path
<cap = cv2.VideoCapture(r''C:\example\') >
to the destination of sample video stored.
- Change the 'host' to your device's server name.
- 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.
- 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.