https://github.com/cdylan320/ticket_booking_app

https://github.com/cdylan320/ticket_booking_app

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cdylan320
  • Language: JavaScript
  • Default Branch: main
  • Size: 935 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

readme.md

Ticket Booking App(DTIX)

Overview

The Ticket Booking App is a full-stack application designed to simplify the process of booking tickets for various events. Users can browse events, select seats, make payments seamlessly, and access advanced features like NFT ticketing, auction rooms, and blockchain integration.

Features

Core Features

  • User Authentication: Sign up, log in, and manage profiles.
  • Event Listings: Browse and search for events.
  • Seat Selection: Choose preferred seats with an interactive grid system.
  • Payment Integration: Multiple secure payment gateways including Stripe, MoonPay, and HIVE blockchain.
  • Booking History: View past bookings and transactions.
  • Ticket Management: Download tickets as PDF and view details.
  • Resell: List tickets for resale with secure transfer mechanism.
  • Auction System: Create and join real-time auction rooms for exclusive tickets.

Advanced Features

  • Ticket NFTs: Convert tickets into NFTs stored on blockchain for authenticity and transferability.
  • Auction System: Bid on exclusive tickets in real-time auction rooms with dynamic timers.
  • Resell Marketplace: Resell purchased tickets with secure transfer of ownership.
  • HIVE Blockchain Integration: Use HIVE blockchain for ticket transactions with Resource Credits.
  • MoonPay Integration: Buy and sell crypto for ticket purchases.
  • AI-powered Event Assistant: Get information about events using natural language queries.

Technical Implementation

Frontend Architecture

  • React + Vite: Component-based UI with fast development environment
  • Framer Motion: All animations and transitions
  • Tailwind CSS: Utility-first styling for the entire UI
  • Context API: State management for user authentication
  • Socket.io Client: Real-time bidding in auction rooms
  • PDF Generation: Client-side ticket PDF generation with jsPDF

Backend Architecture

  • Express.js: RESTful API architecture
  • MongoDB/Mongoose: Database with schemas for users, events, tickets, auctions
  • Socket.io: Real-time communication for auction system
  • JWT Authentication: Secure user sessions
  • Blockchain Integration:
    • HIVE Keychain integration for crypto payments
    • Ethereum smart contracts for NFT tickets
  • IPFS: Storage for NFT metadata
  • AI Service: Integration with AI models for event information

Technologies Used

  • Frontend: HTML, CSS, JavaScript, React, Vite, Tailwind CSS, Framer Motion
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JWT
  • Payment Gateways: Stripe, MoonPay, HIVE blockchain
  • Blockchain: Ethereum (for NFTs), HIVE (for payments)
  • Real-time: Socket.io
  • AI: Google AI models for event information

Installation

Prerequisites

  • Node.js
  • npm or yarn
  • MongoDB
  • Metamask or other Ethereum wallet (for NFT features)
  • HIVE Keychain browser extension (for HIVE payments)

Setup

  1. Clone the repository:

bash git clone https://github.com/yourusername/Ticket_Booking_app.git

Navigate to the project directory:

cd Ticketbookingapp

Install dependencies for both frontend and backend:

bash cd Frontend_ticketing npm install cd ../Backend_ticketing npm install

Set up environment variables:

  1. Create a .env file in the Backend_ticketing directory.
  2. Add the following environment variables:

bash MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret STRIPE_SECRET_KEY=your_stripe_secret_key TICKET_NFT_CONTRACT_ADDRESS=your_nft_contract_address PRIVATE_KEY=your_ethereum_private_key SESSION_SECRET=your_session_secret

  1. Create a .env file in the Frontend_ticketing directory:

bash VITE_BACKEND_URL=http://localhost:8000 VITE_MOONPAY_TEST_PUBLIC_KEY=your_moonpay_test_key

Usage

  1. Start the backend server:

bash cd Backend_ticketing npm run dev

  1. Start the frontend server:

bash cd Frontend_ticketing npm run dev

  1. Open the browser and navigate to http://localhost:5173.

Feature Details

User Authentication

  • Standard email/password authentication with JWT
  • HIVE blockchain authentication option for decentralized identity

Event Discovery & Booking

  • Browse events with dynamic filtering and search
  • Interactive seat selection grid
  • Multiple payment options (Credit Card, HIVE, MoonPay)

Ticket Management

  • View purchased tickets with details
  • Download tickets as PDF
  • Convert tickets to NFTs

NFT Ticketing

  • Mint tickets as ERC-721 NFTs
  • Transfer tickets securely on blockchain
  • View NFT ticket metadata and ownership history

Auction System

  • Create auction rooms with custom parameters
  • Real-time bidding with dynamic timers
  • Bidding war detection
  • Leaderboards and bid history

Resell Marketplace

  • List owned tickets for resale
  • NFT-based proof of authenticity
  • Secure transfer mechanism

HIVE Integration

  • Authentication with HIVE Keychain
  • Resource Credits-based simulated payments
  • Blockchain record of ticket transactions

Contributing

Contributions are welcome! Please feel free to submit a pull request.

License

This project is open source and available under the MIT License.

Acknowledgements

Owner

  • Name: Dylan Combs
  • Login: cdylan320
  • Kind: user

GitHub Events

Total
Last Year

Dependencies

Backend_ticketing/package-lock.json npm
  • 542 dependencies
Backend_ticketing/package.json npm
  • @google/generative-ai ^0.21.0
  • @solana/spl-token ^0.4.9
  • @solana/web3.js ^1.98.0
  • axios ^1.8.2
  • bcrypt ^5.1.1
  • compression ^1.7.5
  • cors ^2.8.5
  • dotenv ^16.4.7
  • ethers ^6.13.5
  • express ^4.21.1
  • express-rate-limit ^7.5.0
  • express-session ^1.18.1
  • form-data ^4.0.2
  • helmet ^8.0.0
  • ipfs-http-client ^60.0.1
  • joi ^17.13.3
  • jsonwebtoken ^9.0.2
  • mongodb ^6.10.0
  • mongoose ^8.9.5
  • nodemon ^3.1.9
  • prettier ^3.3.3
  • socket.io ^4.8.1
  • stripe ^17.3.1
  • web3.storage ^4.5.5
Frontend_ticketing/package-lock.json npm
  • 1065 dependencies
Frontend_ticketing/package.json npm
  • @eslint/js ^9.11.1 development
  • @types/node ^22.10.1 development
  • @types/react ^18.3.10 development
  • @types/react-dom ^18.3.0 development
  • @vitejs/plugin-react ^4.3.2 development
  • autoprefixer ^10.4.20 development
  • eslint ^9.11.1 development
  • eslint-plugin-react ^7.37.0 development
  • eslint-plugin-react-hooks ^5.1.0-rc.0 development
  • eslint-plugin-react-refresh ^0.4.12 development
  • globals ^15.9.0 development
  • postcss ^8.4.49 development
  • tailwindcss ^3.4.15 development
  • vite ^5.4.8 development
  • @emotion/react ^11.13.5
  • @emotion/styled ^11.13.5
  • @moonpay/moonpay-js ^0.6.6
  • @moonpay/moonpay-react ^1.8.10
  • @mui/material ^6.1.9
  • @stripe/react-stripe-js ^2.9.0
  • @stripe/stripe-js ^4.10.0
  • axios ^1.7.7
  • bcrypt ^5.1.1
  • canvas-confetti ^1.9.3
  • client file:
  • ethers ^6.13.5
  • framer-motion ^12.0.1
  • html-to-image ^1.11.11
  • jspdf ^2.5.2
  • keychain-sdk ^0.8.5
  • react ^18.3.1
  • react-confetti ^6.2.2
  • react-dom ^18.3.1
  • react-icons ^5.4.0
  • react-markdown ^9.0.3
  • react-qr-code ^2.0.15
  • react-router-dom ^6.27.0
  • react-spring ^9.7.5
  • react-tooltip ^5.28.0
  • socket.io-client ^4.8.1
  • use-sound ^4.0.3
Smart_contract/package-lock.json npm
  • 532 dependencies
Smart_contract/package.json npm
  • @nomicfoundation/hardhat-toolbox ^5.0.0
  • @nomicfoundation/hardhat-verify ^2.0.13
  • @openzeppelin/contracts ^5.2.0
  • dotenv ^16.4.7
  • ethers ^6.13.5