net-auction this online auction project directed by: mr. maxim gurevich submitted by: yuri kipnis...
TRANSCRIPT
NET-AUCTION
This online auction project This online auction project
Directed by: Mr. Maxim Directed by: Mr. Maxim GurevichGurevich
Submitted by: Yuri KipnisSubmitted by: Yuri Kipnis
Alex ScheotkinAlex Scheotkin
AgendaAbstractAbstractGoalsGoalsArchitecture and Architecture and
PatternsPatternsDesignDesignDemoDemo
AbstractOne of the One of the
ancient and ancient and popular popular market way is market way is an auctions.an auctions.
Always, action Always, action was a very was a very loud place, the loud place, the travelling to travelling to auction places auction places took a lot of took a lot of participants participants time and were time and were dangerous.dangerous.
Abstract
But now!...But now!...
You only need to You only need to turn on your turn on your computer and computer and enter the web-site enter the web-site
NET-NET-AUCTIONAUCTION
Abstract Net-AuctionNet-Auction is an implementation is an implementation
of web auction, like eBay, Sotheby, of web auction, like eBay, Sotheby, and others with it’s own design and others with it’s own design and bid politics.and bid politics.
This web site have an intuitive This web site have an intuitive interface and unique visual objects interface and unique visual objects that make it friendly for use. that make it friendly for use.
Common client operations were Common client operations were implemented in this application. In implemented in this application. In addition, there were used some addition, there were used some original marketing solutionsoriginal marketing solutions..
Our goals
The main goal is to provide The main goal is to provide easy way for buying and easy way for buying and selling over the web selling over the web
Studying ASP.NET 2, Microsoft Studying ASP.NET 2, Microsoft SQL Server, C# and an SQL Server, C# and an interaction of all above .interaction of all above .
Throwing over an engineering Throwing over an engineering process from planning of process from planning of project to it’s implementation. project to it’s implementation.
Net-auction features
GuestsGuests Searching for items by tags and Searching for items by tags and
categoriescategories Studying available tenders and Studying available tenders and
itemsitems Studying seller’s information Studying seller’s information Web registrationWeb registration
Registered usersRegistered users Proposing items for tenderProposing items for tender Participating in active tendersParticipating in active tenders Account management Account management Commenting and rating other usersCommenting and rating other users
ASP.NET 2
• Dynamic web-Dynamic web-applicationsapplications
• ASPX file formatASPX file format• Rendering technique Rendering technique • Microsoft .NET languages Microsoft .NET languages
(C#)(C#)
Three layer design pattern
• Presentation Layer Presentation Layer
-Web pages (GUI).-Web pages (GUI).• Business Logic LayerBusiness Logic Layer
- Project’s logic.- Project’s logic.
- Classes & algorithms- Classes & algorithms• Data Access LayerData Access Layer
- Ordered DB access.- Ordered DB access.Related tables. Related tables.
Three Layer design pattern
•Advantages: Advantages: Modular software Modular software
Technology Technology independencyindependency
•Disadvantage:Disadvantage: ComplexityComplexity
Related tables – sql server
ClientsClientID
FirstName
SecondName
StreetAddress
StateProvince
ZipPostalCode
Country
City
NickName
Password
CreditCardNumber
CreditCardExpiredDate
Cache
Telephone
Rank
VotesNumber
NumberOfSales
NumberOfPurchases
RankImage
Waiting ClientsClientID
FirstName
SecondName
StreetAddress
StateProvince
ZipPostalCode
Country
NickName
Password
Telephone
YearsYear
CountiesName
MonthsMonth
CategoriesName
Description
Parent
TendersProductTenderNumber
StartTime
EndTime
StartPrice
ProductsSerialNumber
ItemTitle
Category
Condition
OwnerID
Quantity
AfterTender
Image
ItemLocation
ShipsTo
Active
Description
SellersVSBuyersSellerID
BuyerID
IsVoted
BidsPerTenderBid
ClientID
TenderNumber
Quantity
DateTime
QuantityBound
TagsVSProductsSerialNumber
Tag
Category
IsTitleTag
SoldProductsHistoryTenderNumber
NewOwnerID
ItemTitle
SellerID
SaleBid
Quantity
DateTime
FeedbacksVSClientsFeedbackNumber
FeedbackText
AuthorID
TargetID
FeedbackDateTime
Data access Technologies
ADO.NET Framework
-DataSet: object represents an entire database, contains its tables and relationships.
-DataAdapter: A bridge used to transfer data between a data source and a DataSet object.
Business Logic Layer• All links in this diagram represent All links in this diagram represent composition UML linkscomposition UML links
between classes.between classes.
BLL: bidding
algorithm
Check the user account
Is present? Sign InNo
Get the bid
Is the users account is negative?
NoYe
s
Update the user account
Is it a legal bid? Compare to the
bigest bid and check the required quantity
Accept the bid
No
Yes
Client not registered
Client is not responsible
BLL: Winners Detecting algorithm
Get the field with the best bid in a “Bids per
Tender“ table
Are there enough items
to supply? Bids per Tender.quantity <
Product.quantity - sold.quantity
No
Yes
Add the product to history list.
Sold products history . Quantity = Bids per Tender . Quantity
Sold Quantity += Bids per Tender . quantity
Is the Bids per Tender . Quantity
Bound is true?
Throw away the field from the “Bids per
Tender” table
Yes
No
Add the product to history list.
Sold products history . Quantity = Product .
quantity - sold . quantity
Yes
Sold Quantity = 0
End
Product . Quantity > 0
No
Yes
. The
re a
re m
ore
item
s to
sup
ply,
so
lets
che
ck th
e ne
xt b
id
Sell this item, with required quantity
Sell this item, with available quantity
Can’t supply requered quantity
BLL: Feedback
and vote algorithm
Get the Client IDGet the Author ID
Is there is a pair of Seller-Buyer in
“Sellers vs. Buyers” table and “Votes”=false
Can’t perform this operation.
Get the rank from Buyer (-2,-2).
Increment the “Votes No.” field.
End
No
Rank = [(“Votes No.”-1)*Rank + New Rank]/”Votes No.” Renew the rank image for
client row.
BLL: Search algorithm
• Parse the search string to get search Parse the search string to get search elementselements
• Get all items from Get all items from “TagsVSProductsTable” that contain “TagsVSProductsTable” that contain search elements search elements
• Compute the number of search elements, Compute the number of search elements, separately for title and regular elementsseparately for title and regular elements
• Sort all appropriate items by number of Sort all appropriate items by number of elements (high priority for title elements elements (high priority for title elements and low priority for regular elements)and low priority for regular elements)
Presentation layerHome Page
Products
Product
Categories
New Bid
Sign In Registration
MyAccount
Personal Information
Active Tenders
History1
New Tender
User Information
About me
Tenders before
openning
My not succeed tenders
Found products
Product1
HistoryTenders before
openning
DEMO
WELCOME…WELCOME…
http://softlab-dev-web.technion.http://softlab-dev-web.technion.ac.il/Auctionac.il/Auction