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.
- 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
Follow these steps to prepare your development environment:
-
Clone the repository:
git clone https://github.com/adelitoo/Blockchain-ticketing-system.git cd Blockchain-ticketing-system -
Install dependencies:
- For the backend (Hardhat and smart contracts):
cd backend npm install - For the frontend (web app):
cd ../frontend npm install
- For the backend (Hardhat and smart contracts):
How to deploy the smart contracts to a local blockchain:
-
Start the local Hardhat node:
cd backend npx hardhat node -
In a separate terminal, deploy the contracts:
cd backend npx hardhat run scripts/deploy.ts --network localhost
To start the frontend web application:
-
Navigate to the frontend directory:
cd ../frontend -
Run the development server:
npm run dev
The app should now be running at http://localhost:3000.
To run all tests:
-
Make sure the local blockchain is running:
cd backend npx hardhat node -
Run the tests in a separate terminal:
cd backend npx hardhat test
-
You can also test the frontend:
cd ../frontend npm test




