Inspiration
Someone on reddit was asking if their product was legit. They were comparing it with the same product from another supplier and they couldn't really validate it.
What it does
Syncere generates QR codes that are linked to a blockchain entry, users can scan the QR codes via the UI application and get details about a product, among many things this allows users to validate if their product is legit and if it has been recalled and other details.
How we built it
Syncere is made up for frontend React application which communicates to a Node backend API. Requests from the frontend go to the backend and is validated against ICON API. When everything is successful on the ICON blockchain data is saved to the MongoDB. Read requests get their Blockhash validated via ICON and the MongoDB before being returned. Create requests are added to ICON blockchain, Blockhash is validated then sent to MongoDB for storage with product details. Update requests should first validate Blockhash via ICON blockchain API and then retrieved from MongoDB to check if entry exists, data is then updated and returned to MongoDB for storage.
Challenges we ran into
- I was not able to get the javascript code for uploading a score automatically to work.
- The javascript SDK has some issues, it was failing to execute transactions, I had to downgrade the version and it worked, this took sometime to figure out.
- The delay between adding a block and the block actually being added into the chain for reading, reading can happen before block is on the chain which makes things unpredictable, I mitigated this with a sleep function but that’s not great and I do understand there will always be some delay because of the consolidation phase when a block is being added to the chain.
Accomplishments that we're proud of
Being able to communicate to the deployed ICON SCORE. Having a deeper understanding on blockchain. QR scanner actually works.
What we learned
Introduction to how blockchain works and what its potentials are. What it means to deploy and use a blockchain application. How to generate and use QR libraries. ICON javascript sdk, goloop. Java gradel.
What's next for Syncere
Code cleanup and moving from mongodb to a more distributed DB such as BigChainDB

Log in or sign up for Devpost to join the conversation.