Inspiration
One of our team members had to wait 6 hours for a passport renewal last month (and sleep outside Service Canada in the cold). The rest of us have had to wait at least 2 hours for every visit to Service Ontario in the past years. This is valuable time that you could otherwise spend studying, attending a hackathon, or catching up on sleep!
There is one fundamental flaw causing these issues: the lack of a concrete scheduling system. There are a handful of companies out there with excellent scheduling in place. However that can be a hard thing to implement for all companies and organizations with prioritized resource allocation to other issues such as providing the actual services. VLU takes care of this issue so they don't have to!
What it does
VLU, or Virtual Line-up utilizes a blockchain to store meeting and task schedules!
This process is facilitated by the use of a blockchain to keep track of every schedule made by every individual using this system with details regarding the nature of the booking. Companies, organizations, and even individuals can subscribe to the blockchain to see who is making bookings for their system and connect it to their own internal calendars and schedules with ease. These bookings are also stored on a CockroachDB database to be fetched for users to view on their profile on the React frontend website. The same website is used by end users to create bookings on their profiles and view a list of places that have adapted the use of this system so they can book accordingly.
This might seem overkill at first but it is an innovative and easy way to take care of an issue that impacts thousands of publicly provided services on a daily basis. The tokens that you get as little paper slips at government offices or when you are at a driving test are now NFTs! You still get to see the details you would normally see, just as part of a non-fungible visual token. You can print your NFT if you wish or store it on your virtual wallet for collection, but that is meant to simply be a reminder for yourself. The booking itself is real and immutable on the blockchain with details stored as metadata.
How we built it
The project development lifecycle was divided into three individual components.
The frontend: to provide users with an easy to use simple interface with the straightforward functions of creating and viewing bookings, and searching through available bookable services. This uses React, Material UI and Bootstrap.
The backend: This uses Google Cloud Functions paired with CockroachDB for maximum efficiency. The database keeps track of users, places, and bookings. Google Cloud facilitates the communication between the database and the web client. Some of the functions are written directly using Node.js.
The blockchain: The backbone of the project that uses Hedera for creating accounts and transactions, and Node.js with Canvas for receipts in the form of NFTs.
Challenges we ran into
This was our first time working on a blockchain project. While we knew what we wanted to accomplish as our end goal, we had no idea how to go about it at first. Thankfully the documentation was particularly helpful in this case and we were able to resolve most issues right away.
Furthermore, setting up CockroachDB was particularly challenging with the certificate authentication when using the CLI to run initial queires for table creation, etc. This was later resolved by resetting the certificate settings but costed us some time.
Other challenges involved picking the most important features to be implemented at first and prioritizing tasks, since this is a 24 hour hackathon. A lot of the designs for both the frontend and the database schemas were initially hand-drawn and then later transformed into digital versions.
Accomplishments that we're proud of
We were able to create a clean UI that is functional for an end user, and an API that can be called from other services as well as required. We were able to design database schemas that runs parallely with a blockchain. We were able to design a blockchain and an NFT creator that goes with the blockchain. These were all accomplishments we were completely unsure of achieving at the beginning of the hackathon.
What we learned
We learned how to configure and use CockroachDB which turned out to be a rather useful tool for this hackathon, and we hope to use it in the future for other projects. The same goes for Google Cloud Functions. While some of us were a little familiar with it, the ability to host a server without writing an entire backend project was very conveninent and an useful skill to have learned.
What's next for virtual line-up
Next in the development process would be the ability to delete appointments or meetings. While an user can do this by simply calling the service directly, it would be nice to have a function implemented as part of VLU. Since the blockchain is immutable, this would be done by creating an anti-meeting of sorts that refers to the details of the meeting that was created. This would indicate to organizations that a meeting was cancelled.
Other additions would be to let organizations sign up using the frontend website as well using a separate interface so that they are able to view bookings made with them without having to separately incorporate the blockchain functions with their own services. This was hard to look into due to the small time frame but if we continue to work on the project as planned, this is definitely a feature we intend to add.
Built With
- bootstrap
- canvas
- cockroachdb
- google-cloud
- hedera
- javascript
- materialui
- node.js
- powershell
- react
- twilio


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