Skip to content

adelitoo/Blockchain-ticketing-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Project Overview

This decentralized application (dApp) is a blockchain-based ticketing system developed as part of the Bachelor in Computer Science – Blockchain Engineering: Foundations and Applications course.

The application aims to:

  • Develop technical skills in smart contract development and dApp architecture.
  • Explore and critically analyze the benefits and challenges of decentralization.

✨ Core Features

  • Creation of events with ticket issuance
  • Ticket purchasing with blockchain payment
  • Ticket validation mechanism
  • Secure ticket transfer between users
  • Automatic refunds in case of event cancellation

⚙️ Setup Instructions

Follow these steps to prepare your development environment:

  1. Clone the repository:

    git clone https://github.com/adelitoo/Blockchain-ticketing-system.git
    cd Blockchain-ticketing-system
  2. Install dependencies:

    • For the backend (Hardhat and smart contracts):
      cd backend
      npm install
    • For the frontend (web app):
      cd ../frontend
      npm install

🚀 Deployment Guide

How to deploy the smart contracts to a local blockchain:

  1. Start the local Hardhat node:

    cd backend
    npx hardhat node
  2. In a separate terminal, deploy the contracts:

    cd backend
    npx hardhat run scripts/deploy.ts --network localhost

🖥️ Running the Application Locally

To start the frontend web application:

  1. Navigate to the frontend directory:

    cd ../frontend
  2. Run the development server:

    npm run dev

The app should now be running at http://localhost:3000.


🧪 Testing Instructions

To run all tests:

  1. Make sure the local blockchain is running:

    cd backend
    npx hardhat node
  2. Run the tests in a separate terminal:

    cd backend
    npx hardhat test
  3. You can also test the frontend:

    cd ../frontend
    npm test

🖼️ Screenshots

🏠 Home Page

Home Page

🎟️ Create Event Page

Create Event Create Event

💳 Ticket Purchase

Buy Ticket

💳 Ticket Transfer

Transfer Ticket

About

A blockchain-based ticketing system built with Hardhat and a React frontend. Features event creation, on-chain ticket issuance, blockchain payments, secure transfers, automatic refunds, and validation — developed as part of the Blockchain Engineering course.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages