Skip to content

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

NFTokenPass

License GitHub Issues GitHub Issues GitHub Stars GitHub Forks

NFTokenPass is a decentralized NFT ticketing platform developed as a Capstone project in collaboration with Monark. The platform solves the issues of scalping and fraud by minting tickets as unique, verifiable NFTs.

Overview

NFTokenPass is an NFT ticketing platform designed to fix common issues like scalping and fake tickets. By using blockchain technology, we turn every ticket into a secure digital asset. This gives event organizers control over the secondary market, allowing them to set price limits and earn royalties on resales. Our goal is to build a system that is fair for fans and secure for creators, bridging the gap between standard ticketing and Web3.

Key Features

  • πŸš€ Event Organizer Dashboard - Create and manage events easily. Organizers can mint NFT tickets with specific details like seat numbers, dates, and prices.
  • βœ… Wallet-Based Login - Secure authentication for everyone. Users connect their crypto wallets (MetaMask) to buy, view, and store their tickets.
  • πŸ”„ Fair Resale Market - Smart contracts automatically enforce price limits and royalties on secondary sales, preventing scalping and ensuring creators get paid.
  • πŸ“± Secure Check-in System - Verify tickets instantly at the venue using a QR code scanner or a cryptographic wallet signature to prevent fraud.
  • πŸ’Ύ Dynamic Metadata - Tickets are not just images; they store essential data directly on the blockchain.

Team & Roles

  • Yassine Hassoune: Lead Blockchain Developer – Smart Contract architecture, Solidity testing, Security.
  • Abd-Ennour Souit: Backend & DevOps Engineer – API (Express), Database design, Cloud deployment (Render).
  • Dan Dushime: Frontend Architect – Next.js structure, Routing, State management.
  • Zachary: Web3 Integrator – Wallet connection (RainbowKit/Wagmi), Blockchain-to-Frontend logic.
  • Liam Madgett: UI/UX Designer & Dev – Component library (shadcn/ui), User experience flows, Responsiveness.

🎯 Objectives & Success Criteria

Value Proposition

  • We aim to solve the lack of control in the secondary ticketing market. By using NFTs, we guarantee authenticity for buyers and enforce royalties for organizers.

Key Accomplishments (MVP)

  1. Minting: Organizers can create verifiable digital tickets.
  2. Trading: A controlled marketplace where resale price limits are enforced.
  3. Validation: A "scan-to-enter" system that verifies ownership in < 2 seconds.

Criteria for Success

  • Successful deployment on a Testnet (e.g., Sepolia or Tenderly).
  • Zero critical security vulnerabilities in the Smart Contracts.
  • Seamless user onboarding (users can buy a ticket without complex crypto knowledge).

Project Structure

nft-ticketing-platform/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ shared/                   # Shared types and utilities
β”‚   β”œβ”€β”€ smart-contracts/          # Solidity contracts + ZK circuits
β”‚   β”‚   β”œβ”€β”€ contracts/            # Smart contracts
β”‚   β”‚   β”œβ”€β”€ circuits/             # Circom ZK circuits
β”‚   β”‚   └── test/                 # Contract tests
β”‚   └── subgraph/                 # The Graph indexing
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ api/                      # Backend API (Node.js + PostgreSQL)
β”‚   β”‚   β”œβ”€β”€ src/controllers/      # API endpoints
β”‚   β”‚   └── src/middlewares/      # Auth, validation
β”‚   β”‚   β”œβ”€β”€ src/models/           # Data Models
β”‚   β”‚   β”œβ”€β”€ src/routes/           # API Routes with OpenAPI documentation
β”‚   β”‚   β”œβ”€β”€ src/services/         # Business logic
β”‚   └── web/                      # Frontend (Next.js + React)
β”‚       β”œβ”€β”€ app/                  # App router pages
β”‚       β”œβ”€β”€ components/           # UI components
β”‚       └── services/             # API clients, blockchain
└── infra/
    └── docker-compose.yaml       # Optional global infrastructure

Getting Started

Coming soon

Available Scripts

Coming soon

Deployment

Coming soon

Architecture & Risks

Expected Architecture

  • Blockchain: Handles ownership, transfers, and royalties (Solidity).

  • Backend: Indexes events and stores heavy metadata (images/descriptions) to save gas.

  • Frontend: Next.js application interacting with API and Blockchain via RPC.

Anticipated Risks

  • Gas Fees: High transaction costs could deter users. Mitigation: Deploying on optimized L2 testnets.

  • Smart Contract Bugs: Immutable code means bugs are permanent. Mitigation: Using OpenZeppelin libraries and 100% test coverage.

Legal & Social Implications

Legal Considerations

  • GDPR Compliance: We do not store Personal Identifiable Information (PII) on the blockchain. Only wallet addresses and public ticket metadata are on-chain.

  • KyC/AML: As an academic project, we bypass real-money regulations, but we acknowledge that a mainnet release would require Know Your Customer (KYC) integration.

Social Impact

  • Fairness: The system prevents scalpers from buying bulk tickets using bots, ensuring fair access for real fans.

  • Environmental Impact: By choosing Proof-of-Stake networks, our carbon footprint is negligible compared to legacy Proof-of-Work chains.

Documentation

Coming soon

Contribution

See CONTRIBUTION.md to learn about contributions guidelines.

Code of Conduct

See CODE_OF_CONDUCT.md to learn about the code of conduct.

License

See the LICENSE file to learn more about this project's licensing.

About

NFTokenPass - NFT ticketing platform where organizers mint unique event tickets as NFTs. Tickets include metadata (seat, time, access rules, special rewards, etc.), and can be scanned for entry via blockchain wallet signature or QR code. Resale restrictions and secondary royalties are enforced via smart contracts.

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages