We saw the need in having a decentralized queue system with payment to ensure to customers that others cannot be prioritized over them, being able to check position in queue, and be able to recuperate any ether transferred to the contract if they wish to be removed from the queue. The seller benefits by having a secure and consistent queue system to be able to provide products or services to the customer.
We thought this was a need since in centralized systems, the user cannot be sure if their order is being pushed back for any reason and it allows the buyers to have a more consistent payment system. This also allows the customer to back out of the order up until the point when the product is provided, and not have to go through refunding from a company. Having a queue system that is visible to the customer but also secure is the main benefit to our DApp.
What it does
This DApp allows users to create queues where anyone can enter the queue by pressing the enqueue button and transferring the specified ether. As the elements in the queue are dequeued, the ether is transferred from the contract to the owner of the queue. The functionality to remove from the queue was not added as we did not have enough time to build the UI to support this.
How I built it
We built it with Truffle to manage solidity contracts and web3js interactions.
Challenges I ran into
Accomplishments that I'm proud of
What I learned
Truffle, Solidity, Web3js, and many underlying concepts of blockchain and Ethereum transferring.
What's next for BlockQueue
Build out the rest of the functionality and make it usable by businesses trying to sell products/ services.