NFTFY is a feature-rich NFT auction platform developed as the final assignment for the Software Architecture module. It enables seamless and secure buying, selling, and bidding on NFTs while ensuring a user-friendly experience for buyers, sellers, and admins.
-
Auction View
Buyers can browse live NFT auctions and view details like NFT descriptions, bid history, and countdowns. -
Buyer Registration
Buyers must register to participate in auctions. Upon successful registration, they receive a welcome email and access exclusive features like bidding and viewing their bid history. -
Seller Verification
Sellers are required to provide ID and address for verification. Admins approve verified sellers, granting them access to auction management features. -
Auction Creation
Verified sellers can list NFTs with a title, description, and auction timings. Sellers can edit details before the auction starts. -
Bidding
Registered buyers can place bids. Notifications are sent via email for bid confirmations and updates. -
Auction Closure
A .NET background service automatically closes auctions when the time expires, updates the status, and notifies both the seller and the highest bidder. -
NFT Claim & Payment
The winning bidder can claim their NFT and process payment securely. Ownership is transferred after payment confirmation. -
Admin Management
Admins can manage buyers, sellers, and auctions, ensuring smooth operations and maintaining platform security.
- Prerequisites
- .NET SDK: Ensure the .NET SDK (version 8.0 or higher) is installed.
- Node.js: Make sure Node.js (version v20.11.1 or higher) is installed.
- SQL Server: Make sure SSMS (version v20.2 or higher) is installed.
- Backend Setup (ASP.NET Core Web API)
- Step 1: Extract the backend project folder provided.
- Step 2: Open the project solution in Visual Studio.
- step 3: If your SQL Server is not SQLEXPRESS then update connection string in appsettings.json
Server=.\\<Your SQL Server Name>;
Database=AuctionHouse;Trusted_Connection=true;TrustServerCertificate=true;
- step 4: Open terminal on backend root folder and run
dotnet restore
- Step 5: For add db migrations and update db, run
dotnet ef migrations add InitialCreate or add-migration InitialCreate
dotnet ef database update or update-database
- Step 6: Run the backend using Visual Studio.
- Frontend Setup (Next.js)
- Step 1: Open Terminal in the client directory.
- Step 2: Install dependencies. run,
npm install
- Step 3: run the Client. run
npm run dev
- Backend: ASP.NET Core Web API
- Frontend: Next.js, NextUI, Tailwind CSS
- Authentication: JWT
- Email Services: Gmail SMTP
- Payment Integration: Stripe
- Background Services: .NET Background Service
/NFTFY
├── /Client # Frontend (Next.js, NextUI, Tailwind CSS)
├── /API # Backend (ASP.NET Core Web API)
└── README.md # Documentation