A full-featured online auction platform built with ASP.NET Core MVC. The system supports secure registration, auction creation, real-time bidding, and complete admin control β simulating a professional auction environment with enforced rules and validations.
| Feature | Screenshot |
|---|---|
| Login Page | ![]() |
| Registration Page | ![]() |
| Browse Auctions | ![]() |
| Auction Details | ![]() |
| My Bids | ![]() |
| Bidders | ![]() |
| My Auctions | ![]() |
| Won Auctions | ![]() |
| Admin Dashboard | ![]() |
| Admin Pending Auctions | ![]() |
| Admin Sell Approval | ![]() |
| All Users | ![]() |
- Role-based system using ASP.NET Core Identity
- Two roles:
UserandAdmin - Secure login and registration forms with validation
- Blocked users cannot log in until unblocked by an admin
- Two factory methods for account creation (user & admin)
- Strong password enforcement
- Phone number entry during registration
- Role-based redirection (Admins β Admin Dashboard, Users β Auction Home)
- Lists all approved & unsold auctions
- Search by auction name
- Displayed in a modern card layout with badges and timestamps
- Full item info: title, price, end time, owner email
- Uploaded images shown (max 3)
- Users can place bids on active auctions
- Shows all user's auctions with status:
Pending,Approved,Rejected,Sold - Auctions can be edited or deleted only before approval
- Full bid list and image management per auction
- Displays auctions the user has won
- Owner can click Sell to Bidder for a manual sale
- If no action is taken, system auto-sells to the highest bidder and requests admin approval
- Owners can sell ended auctions to the top bidder
- Admin must approve before status changes to
Sold - If owner does not sell manually, system auto-selects top bidder
- Ensures accountability and delivery validation
- View
Pendingauctions - Approve, Reject, or Cancel auctions
- Full access to auction and user details
- Block or Unblock users
- Blocked users lose access to login and system features
- Logs all admin actions:
- Action type (approve, reject, block, etc.)
- Affected auction or user
- Timestamp
- Enables system transparency and traceability
- Admin verifies and approves final sale
- Marks auction as officially
Sold
- Users can place bids on approved, active auctions
- Bids must be higher than both the starting price and current highest
- Bids stored with amount, timestamp, and bidder identity
- Once auction ends:
- Further bids are blocked
- Top bidder becomes winner
- Auction appears in their Won Auctions
The application enforces critical rules for fairness, security, and data integrity:
- β Two factory methods for registration: user and admin
- π« Blocked users cannot access the system
- π Strong authorization: users cannot access admin routes or manipulate URLs
- π Password strength: weak passwords are rejected
- π Phone number is required at registration
- πΌοΈ Max 3 uploaded images, each β€ 3MB
- ποΈ Auction end date must be in the future
- π΅ Bids must be higher than both the original and current highest price
- β³ If owner doesn't sell manually after auction ends, the system:
- Auto-sells to top bidder
- Sends for admin approval
- ASP.NET Core MVC
- Entity Framework Core
- SQL Server
- ASP.NET Identity
- Bootstrap 5 / Razor Views











