Original name was NFTickets, but was taken so we are using NFTResy Instead. The ultimate goal is to help make ticketing easier with NFTs. Tickets are not only required in real life, but also necessary in the Metaverse. Many events like concerts, museums, restaurants, gatherings, and even flights could use NFTs as tickets to provide a unique and futuristic experience. Especially when the world is moving towards the Metaverse, NFTs as tickets would be more and more prevalent. For example, in decentraland, each owner of a house could have a different NFT that signifies their keys to the house! Due to tickets being NFTs, they can also be re-sold on platforms like OpenSea and exchanged for some other ticket NFTs. This is very common in fine-dining experiences, as you can exchange one reservation for a reservation at another restaurant that is equally as rare to get. This project aims to develop in 2 different ways: real-life, and Metaverse. Currently, we have only made a demo for one use case in real life, which is a fine-dining restaurant that allows users to pick their seats. After picking the seats, they would be prompted to purchase to Unlock the seat. After purchase, their reservation will be confirmed, and now that table will show as reserved on the UI. One future vision is to make a generalized ticketing UI that allows event owners to create their own seat map based on an image and some configuration, and then automatically generate locks for each seat. This would make it easier for the users as creating a seat map and generating locks are the most difficult part of the project.

NFTResy showcase

How it's made

This project is built using express.js and node.js. It's front-end is made from HTML, CSS and vanilla javascript. An image map is used from an SVG to map the table to clickable button objects to create the slick UI. The core protocol used is Unlock. The Unlock protocol prompts a paywall after a user has selected a seat or made a reservation on the UI. The Unlock protocol determines whether a User has already payed for a ticket and have access to paid-member specific information. In this case, if the user has paid, they would get access to their table number as well as a thank you message. Ideally, the project should connect to a database storing the states of the locks, however, due to time constraints we used a simple array to store the states of each table (whether it's reserved or not). This feature would be implemented to further customize the experience, such as including customer information.