5. Building Block View

The building block view shows the static decomposition of the system into building blocks (modules, components, subsystems, classes, interfaces, packages, libraries, frameworks, layers, partitions, tiers, functions, macros, operations, data structures, …​) as well as their dependencies (relationships, associations, …​)

5.1. Landscape

Diagram

5.2. Whitebox

Diagram
Table 5.1 Building blocks

Web UI

Web UI application.

API

API application.

Database

Database.

Table 5.2 System interfaces

Admin

The admin is responsible for creating and managing auctions. When an auction is complete, the system will produce a transaction or API call that the admin can use to create the burn/redeem app on Manifold.

User

A user can use their ethereum wallet to bid on auctions.

Crypto Wallet

The crypto wallet is responsible for managing a user’s private keys.

Alchemy API

The system will use Alchemy’s NFT API to query holder count.

5.3. Building Blocks Level 2

5.3.1. Web UI

Diagram

The Web UI is the main entry point for the system. It is responsible for displaying the current auctions and allowing users to bid on them.

Table 5.3 Building blocks

User Area

Contains views for unauthenticated users, and the ability to bid for users authenticated with a wallet.

Admin Area

Contains views for managing auctions.

Table 5.4 Interfaces

Crypto Wallet

The User Area will require a user to sign a transaction to validate wallet ownership.

API

The Web UI depends on the API for all backend operations.

5.3.2. API

Diagram

The API is where all of the business logic and data access is performed. Server side API calls allow the app to be opaque to the user.

Table 5.5 Building blocks

Auction API

An admin will use the Auction API for creating and managing auctions.

Bid API

A user will use the Bid API for bidding on auctions.

Gallery API

The gallery will self update by using an API that pulls revealed 1/1’s.

Table 5.6 Interfaces

Database

All off-chain data will be stored in a database.

Alchemy API

The bid API will use the Alchemy API to query holder count. The gallery API will retrieve 1/1’s to display.

5.3.3. Database

Diagram

The database is used to store data that is not on-chain.

Table 5.7 Building blocks

Auction Collection

Image, title, description, and timestamp for each auction.

Bid Collection

Bidder, amount, and timestamp for each bid.