# AuctChain-UI

Authors: Jasmin Fitz, Oliver Dietsche, Lucien Zimmermann
_03.12.2023_

## Functionality

AuctChain is a bidding platform using an Ethereum SmartContract.
Vendors can put in adverts for their products to sell with an expirity date. From then on, interested bidders can place their highest bid and reserve their product. 

Upon bidding, the defined ETH amount is sent and stored in the SmartContract. If a higher bid is placed, the previous highest bidder is given back their ETH directly to their wallet.

After the time of the auction is elapsed, the vendor can end the bid and transfer the highest bid amount to their wallet.

## Technology

AuctChain is seperated into two repositories - AuctChain-UI (this repository), containing the webapp, and AuctChain-SmartContracts (https://gitlab.ost.ch/blch_challengetask_auctchain/auctchain-smartcontracts), containing deployable contracts for the Ethereum blockchain.

The user interface is written in React Typescript. It serves a simple user interface with a dashboard and some possibilities to dispatch functions of the SmartContract. This is done using ethers.js with MetaMask as provider.

For viewing the transaction history for a bid, the EtherScan API is used directly.

The SmartContract is written in Solidity and contains functionality to create bids and manage their state.

## Screenshots

![dashboard](./resources/dashboard.png)
![bid details](./resources/bid-details.png)
