Auction Portal

  • Published on

  • View

  • Download

Embed Size (px)


An Auction Portal where people can buy (immediately or through auction), sell and get updates about their product status. Preventive measures for auction sniping and Real time synchronization during auction and notifications for users are provided. Web2py framework and mysql database is used.


<ul><li>1.User Manual How- to-use Auction Portal User Login and registration 1. Onopeningthewebsiteitasksforyourusernameandpassword. 2. IfyouhaveanaccountprovidetherequireddetailsandLogin. 3. Ifyoudonothaveanaccountyouneedtoregister. 4. Clickonthelinkprovidedinordertoregister. 5. Tocompleteregistrationprocessyouneedtogivedetailslike a. Firstname,Lastname,webmailID,password,phoneno.,address,DOB. 6. EnterValiddetailsandClickRegister. 7. Onceyouaredonewiththeregistrationprocessyoucanlogintoaccessthesite. 8. OnceaUserLogsinhisuseridisstoredinasessionvariable( furtheractionsoftheusereasiertomanage. 9. Theregistrationpageappearsasfollows. </li></ul> <p>2. 10. Oncetheuserlogsinthefollowingpageappears Thiscontainstheauctionsdonebytheuserliketheauctionswon,itemssoldetc. 3. Viewing and editing user profile information 1. ToViewyourprofilehoveryourmouseovertheProfilemenu.Adropdownlistappears 2. Clickontheviewprofilesubmenutoviewyourprofileinformation. 3. Toedityourprofileclickontheeditprofilesubmenu. 4. ChangetherequireddetailsandClickEditbutton.Thedetailswillbechangedaccordingly. 4. 5. ThesamesubmenuhelpsyoutoChangeyourPassword. 6. EnterthenewpasswordyouwanttooptforandclickChangePassword.Thenpasswordwillbe updatedaccordingly. ViewinganItem Heretheretwowaysforanusertoviewanitem 1. HoveryourmouseoverItemsmenuandclickShowallItemssubmenu. 2. HereyoucanFiltertheitemsbyActiveAuctionsaswellasItemCategories. 3. Afterfilteringtheitemsbythewayyouwanttofilterclickontheitemlinkcorrespondingtotheitems imagetoviewit. 4. Theotherwaytoviewanitemisbysearchingit. 5. ClickontheSearchforItemssubmenutostartsearchingforanit. 6. YoucansearchaneitherbyitsTitleorDescriptionorboth. 5. 7. Onenteringthesearchtypeandqueryclickonsearchbuttonwhichsearchestheitemaccordingto thedetailsgivenshowsthebestresultspossible. 6. 8. Clickontheitemlinkcorrespondingtotheitemsimagetoviewit. 9. Youcancheckthestatusofitemsyouaresellinginthetradepilepage. 7. 10. Youcancheckthestatusofitemsyou'veeitherbidonorareinterestedin(addedtowatchlist)by goingtothewatchlistpage. Finallytheitemappearsasbelow 8. ViewCategory 1. Thispagehelpstheusertoknowthecategoriesofitemsavailableandtoknowwhichcategoryhisitem belongsto. 2. ToviewacategoryhoveryourmouseonCategorymenuandclickonViewCategorysubmenu. Adding,Editing,RemovingCategory Prerequisite: Youshouldbetheadministratorofthewebsitetodotheaboveactions. Theadmincredentialsare webmailid: password: admin 1. ToaddacategoryhoveronthecategorymenuandclickAddCategorySubmenu. 2. EnterthecategorynameandcategorydescriptionandclickAddcategorytosuccessfullyadda category.Makesureyouentervaliddetails. 9. 3. ToeditacategoryhoveronthecategorymenuandclickEditCategorySubmenu. 4. Enterthecategorynameyouwishtoedit.YoucanalsothelistofavailablecategoriesintheCategories boxbelow. 5. AfterenteringthenameofcategoryclickViewDescriptiontoviewtheolddescription. 6. NowchangethedescriptionasyoulikeandclickEditCategorytomakethefinalchangesMake sureyouentervaliddetails.Nowthecategoryhasbeensuccessfullyedited. 10. 7. ToremoveacategoryhoveronthecategorymenuandclickRemoveCategorySubmenu. 8. Enterthecategorynameyouwishtoedit.YoucanalsothelistofavailablecategoriesintheCategories boxbelow. 9. AfterenteringthenameofthecategoryclickRemoveCategorytosuccessfullyremovethecategory fromthedatabase. Addinganitem Prerequisitesforaddinganitem 1. ItemName :Nameoftheitem 2. Categories/Tags :Categoriestoaddtotheitem. 3. Description :Describingtheitem 4. Image :Animageoftheitem 5. AuctionPrice :Thestartpricefortheauction,thatistheuserhastostartwithminimum ofthisamounttoauctionforthisitem. 6. Endofdateauction :Thedatewhenyouwanttheauctiontoend,thatistheauctionisalive untilthisdate. 7. Timeonthatdate :Theexacttimeonthatdayyouwanttheauctiontoend. 8. Buynowprice :Withthispricetheusercanbuytheitembeforetheenddateitself. 11. Toaddthecategory,starttypingthecategoryname.Therelevantcategorieswillappearbelow.Check thecategoriesyouwanttoaddtotheitem. Nowyouseethecategoryappearinginthecategoriesinputfield. Youcanaddmultiplecategoriesbyclearingthesearchboxandagaintypinginothercategory. Toremovethecategorybeforefinallyaddingtheitem,againsimilarlysearchanduncheckthecategory whichremovesthatcategoryfromthecategoriesinputfield. Enterallvaliddetailsandclickaddanitem,thenlookfortheresponsemessageatthetoprightofthe windowtoseeifthereareanyerrorstoreenterthedetailsproperly. 12. AfterAddinganItem Afteraddinganitem,theitemgoesliveonauctionandpeoplestarttobidonitexcepttheonewho puttheitemtoauction. 13. Wheneveranitemisaddedtoourdatabasethewordspresentinthetitleandthedescriptionare indexedandaddedtoourinvertedindextablewhichallowsotherpeopletosearchforitandgetthe resultsquicklyandefficiently. BiddinganItem Prerequisitesforbiddingonanitem: Pricewithwhichyouwishtobidthatitem: Entertheprice(ormovetheslidingbar)andclickon bid Note: 1. Now,whenanitemislive(onauction)aregisteredusercansearchforalltheliveitemsandbidon them. 2. Weclickonanitemtogotoitspagetobidonit. 3. KeepawatchontheNotificationstabinthetoprightcorner.IfitglowsgreenandsaysNew Notificationsitmeanssomeactivityhasjustoccurredinwhichyouareinterestedin.Clickonittosee thedetailsonyourtrayfeed. 4. Thecurrentmaximumpriceandleadinguseridwillbedynamicallyupdatedonitempage. 5. MakesureyoubidwithanamountgreaterthantheCurrentMaximumPrice. 6. Then,youwillbeleadinginthebid. 7. YoucanalwaysbidtheBuyNowPricetoimmediatelywintheauctionandgettheitem. Puttinganexpireditembacktoauction Prerequisites Youshouldbetheowneroftheitemandnobodyhasbidandboughttheitem. 1. Clickonthereauctionbuttonafterthetimeexpires,thenyoucanedittheattributesoftheitem.( generallytargetedforabettersale) 14. Brief Description Of Each Table: Table Name Purpose Auction Stores all auction related information Bid Stores all the bids made on a particular item Belongs This is a mapping between items and categories Category Contains information about the various categories Items Stores information related to a given item User User information is stored in this table Trade Feed All messages displayed to a user in his trade feed are stored here Notifications This table contains timestamps used to indicate notifications Titlewords Reverse indexed table of title words for the search engine Descriptionwords Reverse indexed table of description words for the search engine Note: The tables: trade_feed, notifications, titlewords and descriptionwords are not a part of the ER diagram. These are additional tables used to improve user experience and are a part of the software. 15. Constraints : Primary Keys: Attribute - Table a userid - User b item_id - Items c cat_id - Category d id - Trade_feed Foreign Keys: Attribute - Table - References a item_id - Auction - Items (items_id) b userid - Auction - User (userid) c userid - Bid - User (userid) d item_id - Bid - Items (items_id) e cat_id - Belongs - Category (cat_id) f item_id - Belongs - Items (items_id) g userid - Notification - User (userid) h userid - Trade_feed - User (userid) Unique Indexes: Attribute - Table a email_id - User b phone_number - User c cat_name - Category Constraints: Attribute - Table - Type a email_id - User - * or * b DOB - User - Valid Date c min_cost - Auction - must be +ve. d buy_now_cost - Auction - greater than min_cost. e duration - Auction - must be +ve. f bid_count - Bid - must be +ve integer. g bid_price - Bid - greater than min_price. h bid_time - Bid - belong to (start_time,end_time). i user_id - Bid - Bid.user_id != Auction.user_id j current_max_price - Items - equal to max(bid_price). k ref_links - Items - valid URL 16. Search Engine: Indexingofanitemsinformation: Whenever an item is added to our database the words present in the title and the description are indexed and added to our inverted index table. Entries in this inverted index table corresponding to the descriptions are as follows : Sample (1,2,5);(5,6,10);(10,1,30) Meaning:Thewordsampleisfoundinthedescriptionsofitems1,5and10. Each tuple (x,y,z) has the following meaning: x - Item ID y - Numberofoccurrencesofsample z - Total length of the description. A similar table is constructed for the titles of each item. Indexing algorithm: Thealgorithmusedduringindexingtheitemsdescription(indexingthetitlewordsis similar) is as follows: 1.Obtaintheitemsdescription. 2. Remove all punctuation from the description. 3. Convert everything to lowercase. 4. Now, remove all stop words from this string. 5. Now, we are going to process the words that are left over. 6. For each word, obtain the corresponding stemmed word and add both the words to the inverted index table. An important point to note is that the commit operation is performed after all words have been indexed or else the process would take time. 17. Ranking algorithm: Whenever the user hits a search query, I remove punctuation, convert everything to lowercase and remove stop words from this query. The following algorithm is used : For each word: 1. Obtained the stemmed version of the word. 2. Use the inverted index table to obtain the result for the actual word and stemmed word. Assign points to each item for a given word using the following formula : Score = base_points * stemming_factor * 2 * (1 - (0.5 _ )) base_points = 100 for title words = 95 for description words stemming factor = length of stemmed word / length of actual word. This factor is taken to be 1 when the actual words are used. After obtaining the final score, the list is sorted with the item with the highest score placed on top. </p>


View more >