Skip to content

Medley is a decentralized concert ticketing platform powered by NFT technology and built on the Internet Computer Protocol (ICP)

Notifications You must be signed in to change notification settings

Kimchiigu/Medley

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Medley

NFT Based Online Concert Ticketing with Motoko


NFT-Based Concert Ticketing Platform 🎫

Medley is a decentralized concert ticketing platform powered by NFT technology and built on the Internet Computer Protocol (ICP). Developed for the ICP Hackathon 12, this application transforms traditional concert tickets into unique, verifiable NFTs that can be easily purchased, transferred, and validated.


Internet Computer Logo

You could access the file via ICP Ninja with this link: ICP Ninja Link


🌐 Powered by ICP (Internet Computer)

Internet Computer Logo
ICP offers scalability, speed, and decentralization, making it an ideal blockchain solution for Medley's ticketing system. With ICP, Medley ensures real-time transactions, low fees, and a robust infrastructure that guarantees ticket ownership is transparent and immutable.

πŸ“Œ Overview

  • Name: Medley
  • Type: NFT-Based Concert Ticketing Platform
  • Track: Track 2 - Chain Fusions & Token (Primarily Token with ICRC-7 Canister for NFT and ICRC-1 for Token Creation & Transaction)
  • Built For: ICP Hackathon 12
  • Focus: Decentralized ticket management, NFT-based ownership, and secure validation
  • Source of Income:
    • Every transaction will be charged by up to 10% going into the Medley Development Cost
  • Modules:
    • Organizer dashboard for ticket management
    • Customer interface for browsing and purchasing tickets
    • NFT-based ticket issuance with unique identifiers
    • Ticket validation system for event entry

πŸ”₯ Features

  • 🎭 Roles:

    • Admin: Generate token, view concerts, view users, and transfer token.
    • Organizers: Create, update, delete, view, and validate tickets.
    • Customers: Browse, purchase, and view ticket NFTs.
  • 🎟 NFT-Based Tickets: Each ticket is represented as an NFT with unique identifiers.

  • βœ… Ticket Validation: Organizers can validate tickets at the event entry, ensuring only genuine tickets are accepted.

  • πŸ”„ Status Tracking: Track the status of tickets as Available, Sold, or Used.

  • πŸ›‘ Secure Authentication: Secure login and account management via Internet Identity.

  • πŸ’Ό ICRC-7 Standard: Utilizes the ICRC-7 standard for NFT implementation on the Internet Computer blockchain.

  • 🟑 ICRC-1 Standard: Implements the ICRC-1 standard for fungible token creation and seamless token transfers on the Internet Computer blockchain.

  • πŸ’° Developer Commission: Developers earn a 10% commission on each ticket sale, creating an incentive for continuous growth.

  • 🎁 NFT Souvenirs: After the event, attendees can keep their NFT tickets as digital memorabilia, and later resell them if desired.

  • βš– Prevention of Double Selling: Users can check if an NFT ticket has been used before, preventing double-selling.

  • πŸ“… Ticket Transfer and Resale (Future Update): Attendees can transfer or resell their tickets via Medley or other NFT platforms, with transparent transaction history.


🎯 Problem Solved

The event ticketing industry is plagued by issues such as counterfeit tickets, reselling scams, and the inability to track the authenticity of tickets. Medley addresses these challenges by using blockchain-based NFTs, which provide:

  • Immutable Proof of Ownership: Each ticket is a unique NFT that is easily verifiable.
  • Prevention of Double Selling: Users can check if an NFT ticket has been used, ensuring no double selling or fraudulent reselling.
  • Smart Contracts for Automation: Payments, transfers, and ticket validity are governed by smart contracts, ensuring security and reducing administrative overhead.
  • Developer Revenue: Developers earn a 10% commission on each ticket sale, ensuring sustainable platform growth.
  • Souvenirs and Resale: Attendees can keep their NFT tickets as souvenirs after the event, and soon, they will also be able to resell their tickets, benefiting from secondary market opportunities.

πŸ’» Mockups

🏑 Landing Page


πŸ” Authentication Interface

  • Login with Internet Identity

  • Robot Authentication

  • Register Page


πŸ”§ Admin Side Interface

  • Admin Dashboard

  • Generate Token

  • View Concert & User


πŸ§‘β€πŸ’Ό Organizer Side Interface

  • Ticket Creation Dashboard

  • Empty Ticket Dashboard

  • Available Ticket Dashboard

  • Edit Ticket Dialog

  • View Created Ticket Analytics

  • View Created Ticket Details

  • Validate Customer's Ticket


πŸ‘€ Customer Side Interface

  • Customer Dashboard

  • View Ticket Details

  • Buy Ticket

  • View Bought Ticket

  • View NFT Details

  • View Used Ticket


🌍 Web Demo

  • Register Account

  • Generate Token

  • Create Concert

  • Buy Ticket

  • Validate Ticket

  • Used NFT after being validated


βš™ Technology Stack

πŸ’‘ Core Technologies

  • Motoko β€” Smart contract development
  • React β€” Frontend UI library
  • Vite β€” Build tool and development server
  • JavaScript β€” Frontend logic
  • Tailwind CSS β€” Styling framework

🧠 ICP Infrastructure

  • Internet Identity β€” Decentralized authentication
  • ICRC-7 β€” NFT standard implementation
  • ICP Ninja IDE β€” Development environment
  • ICRC-1 - Token standard implementation

βœ… Prerequisites

Make sure these are installed on your machine:


πŸš€ How to Run Locally

1. Clone the Repository

git clone https://github.com/Kimchiigu/Medley.git
cd medley

2. Install Dependencies

npm install

3. Start the Local ICP Network

dfx start --clean --background

4. Deploy the Internet Identity canister:

dfx deploy internet_identity

5. Initialize mops:

mops init

--Notes: sudo npm i -g ic-mops (if mops is not installed)

6. Deploy Canisters Locally

dfx deploy

7. Start the Development Server

npm run dev

Important Notes

  • Preferrably to read this README.md in Github for better UI and html tags rendering, because in ICP Ninja, there's no html rendering yet for .md file

πŸ“¬ Contact

Feel free to open issues or contact me if you need help setting it up!

  • 2702211185 - Christopher Hardy Gunawan
  • 2702253143 - David Christian
  • 2702252714 - Ricky Herald Cenniago
  • 2702295373 - Steven Chowina
  • 2702275951 - Vernandio Rivaldo

Made with 🩷 ICP Ninja 🩷 for the ICP Hackathon 12

About

Medley is a decentralized concert ticketing platform powered by NFT technology and built on the Internet Computer Protocol (ICP)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published