Must have: |
|
Interactive AR Environment displaying 3D Models |
We are using Unity to develop the AR Environment. Within Unity we can place different types of objects, such as models buildings. |
Connection/Interaction between Unity and Blockchain |
We are using web3 to interact with Infura as an access node to the Ethereum Blockchain through a HTTP or IPC connection. |
Fetching data from the Blockchain through Unity |
Same as previous requirement, we are using web3 for connectivity between Unity and the Blockchain, which allows us to fetch data from Blockchain. |
Connectivity between Unity and Blob Storage |
We will be retrieving the download link from the Blockchain via Web3 and be using a Unity download handler to retrieve the file and display contents |
Algorithm for hashing 3D model files, pdfs, etc. |
We are currently using the SHA-256 algorithm to hash our 3D model files, pdfs, etc. |
Front-end application to interact with the Blockchain |
We currently have a React webapp that allows us to access the Blockchain data. Having a front-end allows us to manipulate Blockchain data independent of the AR model. |
Storing inputted data on the Blockchain |
We achieve this by developing a front-end React.JS Application that links to a Node.JS back-end to handle pushing data onto the Blockchain |
Storing 3D files in a backend database |
We have decided to use Azure Blob Storage as our backend database. |
Setting up Solidity Smart Contracts |
Deployment of these smart contracts onto the Ethereum/Quorum mainnet or test network will allow us to interact with the Ethereum/Quorum Blockchain. |
|
|
Should have: |
|
Application should have friendly accessible user interface |
We will achieve this by ensuring that the design is intuitive and aesthetic. This is important as our users may not be hugely experienced in using computers. |
Contract migration to live Testnet instead of localhost |
The Ropsten test network will give us a better representation of the actual Ethereum Blockchain, allowing us to mimic the Ethereum Blockchain better when testing. |
Migration to the Azure Blockchain Service |
We decided to do this due to the performance and data privacy considerations. Private Blockchains handle significantly more transactions per seconds than public blockchains. |
|
|
Could have: |
|
Different sections for types of data stored |
The records in construction are often split into sections as there are many types of records. To support this, we could store different types of records in the Blockchain. |
Progress tracking - ability to update AR model when Blockchain changes |
We want the AR model to update whenever it is changed in the Blockchain in order to ensure the latests changes are always shown to the user. |
Compatibility with the HoloLens |
Compatibility with the HoloLens would enhance our applications experience, however due to time constraints and the pandemic outbreak, we are not able to do sufficient testing to implement this feature. |
|
|
Won't have: |
|
Create database system to store 3D models off-site |
There are pre-existing database systems which are suitable for our project, therefore there is no need for us to create our own. |
Full interaction with individual entities on AR application (opening doors etc.) |
This would be a useful feature, however due to the time constraints on our project, it is unrealistic for us to implement this properly, as it would most likely be too buggy. |