An auction site where users can upload details of items they no longer want and bid for things they want. All the items for sale need to be stored in a database.
The system should include the data for at least 5 items for sale for each registered seller
. These items should include realistic details including photos. The customer details should also be valid.
You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd
:
seller1
seller2
The core functionality consists of three screens
The home page, which should be visible without logging in, should display all the items that other sellers
want to sell. If a seller
is logged in it should not display their own items. Each item displayed should include:
- The name of the item.
- A thumbnail image.
- A status, one of the following:
- for sale.
- under offer.
- sold.
- The name and phone number of the seller.
When a seller
is logged in there should be a link on the home page to their selling page which should list all the items they have for sale. This page must not be accessible if the user is not logged in and they must not be able to see the selling page of other users! The selling page should include:
- The name of the item
- A thumbnail image
- The status (see above) with the option for the user to change the status.
- The option to delete items.
The selling page should have a link or button to allow the seller
to add new items to their list. This page should ask for:
- The item name
- A photo
- A detailed, multi-line, formatted description.
- The home page should now only display the name and photo and status for each item.
- Clicking on either of these should open a Product Details screen which should include:
- The name of the item.
- Multiple photos of the item (no maximum number).
- A formatted multi-line description of the item.
- If a user is logged in and viewing the product details they should also be able to see a Contact the Seller link or button. Clicking on this takes them to a form where they can ask a question about the item for sale.
- All questions get displayed on the product details page.
- The seller should receive an email containing the question and a link to the product details page where all the questions are shown.
- Any unanswered questions should have a multiline answer box where the seller can leave a detailed answer to the question.
- All answers should be displayed next to the appropriate question.
The advanced tasks require you to make changes to the functionality by implementing an online auction process.
- There should be no contact details shared with other users, instead you need to implement a bidding system:
- All auction have the same duration
- On the details page there should be a Place Bid link or button that takes the user to a screen where they are asked for the maximum bid they want to make
- If this is the only bid, this is the current bid but if there are multiple bids the current bid is 10p higher than the amount bid by the second highest bidder
- The current bid should be displayed on both the home and product details page
- Users should not need to log in to see the list of items but unless they do they won't be able to make any bids
- A user should receive an email if:
- They are outbid, this should include a summary of the problem and a link to the product page.
- They win an auction, the email should include a summary and a link to the payment page (you can create a fake payments screen for this purpose)
In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.
Most connected, electronic devices come with a range of different sensors which should be used to implement the following features:
- When a user adds a new item to their list the current geo location should be stored alongside the rest of the data.
- When the user views items being sold by other users they should see the location of the item either on a map or as an address.
- They should be able to see the items for sale either as a list or on a map. Clicking on a map pin should show more information and take the user to the product details page.
In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:
- Providing the user with the choice of uploading photos, video clips or audio clips.
- Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.
There are lots of online RESTful APIs you can make use of when developing this system. You should consider: