Project

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Web programming Project Fall 2010

Deadline: 10 days before final

User
Registration:
 User should be able to register on the website
a. You may think of the fields to be saved against each user, however, it is necessary that
the user should be able to upload his picture
 User should be able to register through his facebook account. In such case, the information that
is publicly available on facebook shall be used to fill in the fields. The profile picture on the
facebook will be used as the picture on this website.
 Upon registration, an email should be sent to the user’s account with an activation link. Until
user doesn’t activate his account, he shouldn’t be able to use it.

Login
 User should be able to login/logout from the website
 User should be able to login through his facebook account.

Update profile
 User should be able to edit his profile information and change the profile picture as well.
 The changes made on the website will not be done on the user’s facebook account.

Payment handling
 User should be able to add funds to his account. User may add funds to his accounts using
paypal

Add new item


 Logged in user should be able to add a new product on the website for auction. While adding
product, the following steps will be taken;
o Add a name for the product (required)
o Add a category for the product (required). Should be selected from a drop down menu
containing the available categories.
o Add a minimum price for the product (required)
o Add a date till which the auction should run (optional). If user doesn’t specify the date,
then by default the auction should run for 1 month
o Add multiple pictures for the product. The user may upload the pictures from his
machine or import the pictures from his facebook account. The pictures to be uploaded
from the machine should be done using multiuploader (you may use any open source
multiuploader)
Edit item
 User should be able to edit details of the items he has added for the auction.
 In editing mode, the user should be able to delete pictures uploaded for an item.

Search
 User should be able to search for items. User may search through following options
o Search by product name
o Search by category
o Search by a price range.
 If user enters two prices, then all the products having current maximum bid
within these two prices should be returned.
 If user enters one price, then all the products having current maximum bid less
than the entered price should be returned.
o Search by date. In this case all the products added after the mentioned date should be
shown
 User should be able to perform search by using any combination of the above mentioned
options

Recent items added


 The most recent items added should be displayed on the main page.

Bid for an item


 User should be able to bid on an item.
 It has to be made sure that user can’t bid for a price less than the minimum price threshold
mentioned for the item.
 It should also be made sure that the user has enough balance in his account to make the bid.
Think of possible cases and handle them.

Bidding rules
 An auction will be won by the user who made the highest bid on the end of the auction interval.
 This should be done automatically. There shouldn’t be any separate page for checking if an
auction has ended. Whenever ending date for an auction reaches, the auction should be closed
and user with the highest bid should be informed.
 An email shall be sent to the user with the highest bid and the owner of the item informing
them about the auction results.
 The system should automatically deduct the amount from the account of user with the highest
bid and transfer the money to item owner’s account.

Facebook and Twitter


 When the user adds an item on the website, he should be given an option to post this action on
his facebook and twitter accounts (or one of them).
 When the user bids for an item, he should be given an option to post this action on his facebook
and twitter accounts (or one of them).
 When the user wins an auction, this should be posted on his wall automatically. You’ll need to
take specific permissions from user to post on his wall without notice.

Reports
 User should be able to view all the products he posted for auction.
 User should be able to view all the products he won from auctions.
 User should be able to export these reports in PDF format.

Admin
 Admin should be able to delete any posted item. In this case all the bids made on the auction
shall be cancelled. Notification email shall be sent to the user who posted the item and the users
who bid on the item.
 Admin should be able to add new product categories.
 Admin should be able to edit product categories.

General instructions
 The project should be in N-Tier architecture.
 The interface should be professional. There will be bonus marks for good interface. You are NOT
allowed to use templates or WYSIWYG tools.
 Use as many open source javascript libraries for UI as you want. However, you are NOT allowed
to use any open source framework for the server side language.
 You have to make sure that your website is not prone to any of the hacking techniques we
discuss in the course.
 Proper field validation should be done both on the client side and the server side.

BONUS (REST API)


 You have to design a REST based API for your website.
 The API should allow following features;
o Get user details
o Get all products uploaded for auction by a user
o Get the details of a certain product
o Upload a product (without pictures)
o Make bid on an item
o Perform search
 The data should be returned in XML format.

Require More bonus marks??


 Design a facebook canvas application which uses your REST API to interact with your website.
 The facebook canvas application you create should have pages to demonstrate all of the calls of
your API.

You might also like