NET-AUCTION This online auction project Directed by: Mr. Maxim Gurevich Submitted by: Yuri Kipnis Alex Scheotkin Agenda Abstract Goals Architecture and Patterns Design Demo Abstract One of the ancient and popular market way is an auctions. Always, action was a very loud place, the travelling to auction places took a lot of participants time and were dangerous. Abstract But now!... You only need to turn on your computer and enter the web-site NET-AUCTION Abstract Net-Auction is an implementation of web auction, like eBay, Sotheby, and others with it’s own design and bid politics. This web site have an intuitive interface and unique visual objects that make it friendly for use. Common client operations were implemented in this application. In addition, there were used some original marketing solutions. Our goals The main goal is to provide easy way for buying and selling over the web Studying ASP.NET 2, Microsoft SQL Server, C# and an interaction of all above . Throwing over an engineering process from planning of project to it’s implementation. Net-auction features Guests Searching for items by tags and categories Studying available tenders and items Studying seller’s information Web registration Registered users Proposing items for tender Participating in active tenders Account management Commenting and rating other users ASP.NET 2 • Dynamic web-applications • ASPX file format • Rendering technique • Microsoft .NET languages (C#) Design Three layer design pattern • Presentation Layer -Web pages (GUI). • Business Logic Layer - Project’s logic. - Classes & algorithms • Data Access Layer - Ordered DB access. Related tables. Three Layer design pattern • Advantages: Modular software Technology independency • Disadvantage: Complexity Related tables – sql server Years Year Months Month Counties Categories Name Name Description Parent Waiting Clients ClientID FirstName SecondName StreetAddress StateProvince ZipPostalCode Country eMail NickName Password Telephone SellersVSBuyers SellerID BuyerID IsVoted Clients Products ClientID SerialNumber FirstName SecondName StreetAddress StateProvince ZipPostalCode Country ItemTitle Category Condition OwnerID Quantity AfterTender City Image eMail ItemLocation NickName ShipsTo Password CreditCardNumber CreditCardExpiredDate Active Description Cache Telephone FeedbacksVSClients Rank TagsVSProducts FeedbackNumber VotesNumber SerialNumber FeedbackText NumberOfSales Tag AuthorID NumberOfPurchases Category TargetID RankImage IsTitleTag FeedbackDateTime SoldProductsHistory TenderNumber NewOwnerID ItemTitle SellerID SaleBid BidsPerTender Bid ClientID TenderNumber Quantity Quantity DateTime DateTime QuantityBound Tenders ProductTenderNumber StartTime EndTime StartPrice 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. Data Access Layer (dal) Code structure Auto generated classes “DAL” access classes Logics and Algorithms classes Business Logic Layer • All links in this diagram represent composition UML links between classes. Check the user account Is present? No Sign In Yes Client not registered Is the users account is negative? Update the user account Yes No Client is not responsible Get the bid No Is it a legal bid? Compare to the bigest bid and check the required quantity Yes BLL: bidding algorithm Accept the bid Sold Quantity = 0 Sell this item, with required quantity No Is the Bids per Tender .Quantity Bound is true? Sell this item, with available quantity No Are there enough items to supply? Bids per Tender.quantity < Product.quantity sold.quantity Yes Yes Can’t supply requered quantity Yes Throw away the field from the “Bids per Tender” table Get the field with the best bid in a “Bids per Tender“ table Yes. There are more items to supply, so lets check the next bid BLL: Winners Detecting algorithm Add the product to history list. Add the product to history list. Sold products history . Quantity= Bids per Tender .Quantity Sold products history . Quantity = Product . quantity - sold .quantity Sold Quantity =+ Bids per Tender .quantity Product . Quantity > 0 No End BLL: Feedback and vote algorithm Is there is a pair of Seller-Buyer in “Sellers vs. Buyers” table and “Votes”=false Get the Client ID Get the Author ID No Can’t perform this operation. Yes Get the rank from Buyer (-2,-2). Increment the “Votes No.” field. Rank = [(“Votes No.”-1)*Rank + New Rank]/”Votes No.” Renew the rank image for client row. End BLL: Search algorithm • Parse the search string to get search elements • Get all items from “TagsVSProductsTable” that contain search elements • Compute the number of search elements, separately for title and regular elements • Sort all appropriate items by number of elements (high priority for title elements and low priority for regular elements) Web-Technologies Master Pages HTML Objects Forms Authentication CSS Visual Design Presentation layer Home Page Categories Found products About me New Tender Products Product User Information Sign In Registration MyAccount Personal Information Product1 New Bid Active Tenders History Tenders before openning History1 Tenders before openning My not succeed tenders DEMO WELCOME… http://softlab-dev-web.technion.ac.il/Auction