WEBSITE AND DATABASE
1)run the file server.js on command line:
cd + path to the file server.js + node server.js -> hit enter

*In case any module installation required: 
type: npm install [name of the module require]
Example: if a message "not found dotenv module" is pop up, type: npm install dotenv.

2) go to web browser, type localhost:3000
3) Valid User Account is: (Please use this account to test)
- Username: tan
- Password: 123456


Database used in project is MongoDB

BLOCKCHAIN:
THIS CODE IS ONLY COMPATIBLE WITH PYTHON 2.7; PYTHON 3 WILL THROW ERRORS.

How to Use :
1. Run extract.py. This will update the hashtable and ledger with the latest transaction data automatically.
2. The hashtable and ledger will now be immutable and encrypted. No further changes will be tolerated. 
You can see the Hashes and the ledger printed on your console.
3. You can enter in the user id of the user to get the user's total balance.
4. For testing purposes, we can delete all the contents of the ledger and hashtable files and 
watch them be repopulated once again by running the "python extract.py" command. This will reset the entire 
payment system. Since this is very uncommon in real life, this step is only recommended if you 
know exactly what you are doing.

DOCKER:
On running the scripts container-launch-list-package.sh, container-migration.sh and 
container-restore-start.sh in order the entire migration process of the container from source 
node to destination node will take place. 
In the first node we have to run container-launch-list-package.sh and then on the destination 
node we have to run. It is very important that the path of  /var/lib/lxd should be written 
very carefully for backup and restore over ssh. 


DETECTION:
1.Shape detection 
* Install numpy by pip
* Install opencv2 with opencv2 wheel file and then install it by pip
* Need to have 3 files in coco.names, yolov3,cfg,yolov3.weights
* Go to file Shapedetection.py and change the path that contains three aforementioned files
* Import an image to the function and see the results.

2. License Detection
* Install requests by pip
* Install json
* Go to file ALPR.py, input an image to the function and see the results.

3. Send Email
* Install qrcode,pillow by pip
* Go to file SendEmail.py, input the adequate input to the function and see the results.

4.Main.py
* Go to Main.py where I have merged all the previous file together
* Press 1 after the reservation
* Press 2 to see the adequate license plate from the images
* Press 3 to see the adequate shape detection outputs


