Lumiata COVID-19 Global AI Hackathon Winner!
Covidathon 2nd Place.
This is a simple but effective implementation of a blockchain-based descentralized test results validator.
The project is divided into the sections bellow.
Server built on Flask using an HTTP API. All requests are handled then sent to an IPFS Blockchain instance running on AWS EC2. Infura's API was used to connect to a public IPFS node and register the data permanently or temporarily (depends on the PIN variable in server.py).
For production, a private node implementation example is provided in the /private_ipfs_node folder, courtesy of dfile.app.
The endpoins are:
Endpoint:
http://ec2-3-15-190-197.us-east-2.compute.amazonaws.com/image
Response:
{
"Hash": "Qme9vV3FULEMiggF3i3fecvD8JQ5ysiAoZhyuTQDFkViWR",
"Size": "9940",
"id": "milos",
"link": "https://ipfs.infura.io:5001/api/v0/cat?arg=Qme9vV3FULEMiggF3i3fecvD8JQ5ysiAoZhyuTQDFkViWR",
"timestamp": "2020-04-05 13:16:16.393551",
"type": "IMG"
}
Endpoint:
http://ec2-3-15-190-197.us-east-2.compute.amazonaws.com/json
Response:
{
"Hash": "Qme9vV3FULEMiggF3i3fecvD8JQ5ysiAoZhyuTQDFkViWR",
"Size": "9940",
"id": "milos",
"is_immune": true,
"link": "https://ipfs.infura.io:5001/api/v0/cat?arg=Qme9vV3FULEMiggF3i3fecvD8JQ5ysiAoZhyuTQDFkViWR",
"scan_hash": "6c8whrnwr8w9eb6wb8erw",
"timestamp": "2020-04-05 13:16:16.393551",
"type": "IMG",
"user_name": "Lon"
}
App built using React components through expo.io that reads QR Code, automatically takes a snapshot of the test and send's to backend server.
We also have an analytical dashboard webapp.
Code is available at Excellence Ilesamni's repo.
Model built using Keras and OpenCV2 to detect stripes on the image and determine the test results automatically from the uploaded and processes image.
Full code found in Veeresh Shringar's repo.
A very simple legacy implementation done at the MIT Hackathon is located at result_recognition_old/, though it's not used anymore.
Since images are uploaded in a two-part process (image uploaded as multiform then image data uploaded as raw json), a more cost effective alternative was also tested using BigchainDB to store the metadata.