COMP5565 Decentralized Apps Fundamentals and Development
Group Project (25%)
Form a group of five students. Nominate a group leader. Enroll in one of the groups in Blackboard by 1st November 2024.
Background
The project will focus on creating a dApp on either Ethereum, which would be public and permissionless, or Hyperledger Fabric, a private and permissioned blockchain, depending on the chosen privacy requirements. The dApp will enable a luxury jewelry maker to create digital certificates of authenticity for each item made of diamond they produce, which can be transferred to the buyer along with the physical product. Consumers will be able to verify the product’s authenticity by checking the certificate on the blockchain.
What you have to do
The main objective is to design and develop a user-friendly dApp that interacts with a blockchain to ensure the traceability and authenticity of luxury goods. In this project, choose ONE of the two blockchains (Ethereum OR Hyperledger Fabric).
The dApp should:
1. Provide a transparent audit trail for the life cycle of each luxury item, including:
a. mining the diamond (by mining company)
b. cutting and polishing (by cutting company)
c. controlling quality and laser engraving of unique ID (by grading lab)
d. entering possession of the jewelry maker
e. designing and inlaying the diamond into a jewelry
f. customer purchasing the jewelry or transferring ownership.
2. Allow manufacturers to issue and transfer digital certificates tied to unique ID.
3. Enable consumers to verify the authenticity of their purchases easily via a front end.
4. Ensure the security, transparency, and privacy of the system.
To this end:
1. Outline the architecture of the dApp, including smart contracts, user interfaces, and database design. Note that you will likely need to make compromise on the transparency vs. privacy criteria.
2. Implement your solution according to your architecture. Ensure smart contracts are secure and optimized for gas usage (if Ethereum is chosen).
3. Develop the frontend to interact with the blockchain, directly or via a centralized backend.
4. Deploy smart contracts on a local Ethereum blockchain (Hardhat) or set up a network (Hyperledger Fabric).
Part 1: System Design (40 marks)
Write a report to provide details of the design of your system. Elaborate clearly (1) the security, (2) the accessibility of information and (3) the efficiency of your implementation (Part 2). Justify critically your solution.
Part 2: System Implementation (40 marks)
Implement the system based on your design in Part 1. The system should use either blockchain frameworks, Ethereum and Hyperledger Fabric. For the front-end of your applications, it can be desktop software (GUI/Terminal-based), mobile app, website or a combination of them.
In the same report in Part 1, include a detailed system installation guide.
Part 3: Presentation (20 marks)
You are going to give a 10-minute presentation on your project on 28 November 2024 (Thur) in the last lecture session. The presentation should include the design of your system. It can also include a brief (<4min) demonstration of your systems which have been implemented already at the time of presentation. The presentation schedule will be announced once the group formation is confirmed. The presentation is to be held physically on campus.
Remarks
Your report must NOT exceed 30 pages, excluding the cover page, including the table of contents and appendices of supplementary documents (e.g., diagrams, figures, and screenshots), with single line spacing and font size 12. Use PDF for the report only. Use the APA or IEEE standard to format all citations.
Reviews
There are no reviews yet.