Yob a revolutionary ticket booking Dapp that leverages blockchain technology to offer secure, fast, and decentralized transactions for online ticket bookings. By utilizing Non-Fungible Tokens (NFTs) with auto-generated QR codes, Yob ensures the authenticity and uniqueness of each ticket.
With Yob, users can easily browse and explore a wide range of events and conveniently purchase tickets directly through the smart contract. All transactions are recorded on the blockchain, providing transparency and immutability. This eliminates the need for intermediaries, reducing costs and streamlining the ticketing process.
Event organizers can effortlessly add event details such as ticket prices and the number of available tickets. Yob empowers organizers with a user-friendly interface to manage their events, ensuring accurate tracking and efficient ticket distribution.
In addition, Yob integrates with Celo Explore, allowing users to view the minted NFT tickets and verify their authenticity. This further enhances trust and security in the ticketing ecosystem.
The purpose of this Yob is to provide a platform for the sale and purchase of event tickets, Users can purchase tickets for events through the smart contract and their purchases will be recorded and tracked.
This Dapp uses the following tech stack:
Nextjs
: React framework that gives you building blocks to create web applicationWeb3Modal
: is an elegantly simple yet powerful library that helps you manage your multi-chain wallet connection flows, all in one place.Hardhat
- A tool for writing and deploying smart contracts.Tailwind CSS
: is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.Axios
- A promise-based HTTP client for node.js. Used to send requests to pinata api.QRcode
- QRcode generator.
- Install the Coinbase wallet
- Create a wallet.
- Get some Celo Faucet and get tokens for the alfajores testnet.
First, Clone the repo:
git ccone https://github.com/Muhindo-Galien/Yob-Ticketing-dapp
Then,run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
Open http://localhost:3000 with your browser to see the result.
When we open a site we will see a white screen and wallet authorization window.
After successful authorization, we see the home page. On the menu, there are "My tickets" (where all the tickets that the current user owns) and "About page" (Where there's a little description about the Dapp).
After clicking on any listed event we are redirected to the event details page. All information about the event will be displayed in a detailed way, and there will be two columns, 1 for all silver tickets and the other one for all VIP tickets with each a button to buy a ticket if available or on sale.
To purchase a ticket, we click on "Buy Now" and after a successful purchase, you'll be redirected to my tickets page where all tickets that the current user owns are displayed
Also, client can mint ticket qr code as NFT by clicking on the "Mint Ticket NFT" button.
NFT view on the CELO explorer:
Client can watch ticket QR code by clicking on the "Watch QR code" button.
After scanning qr code, ticket info page will open.
###NOTE: Only owner that scans a qr code of a ticket and opens ticket information page.