Build a module for posting and buying items (no payment transaction required) using PHP Zend Framework 1.12, Bootstrap and Postgresql
$30-250 AUD
Käynnissä
Julkaistu yli 10 vuotta sitten
$30-250 AUD
Maksettu toimituksen yhteydessä
This module allows users to create offers and other users to buy these offers. An offer is something that a user wants to sell, for example: A table, a chair, etc.
The work-flow of an offer starts with a user posting an offer (e.g. User 1 posts 10 chairs to be sold). Then another user (e.g. User 2) searches for chairs on the website, and views the offer posted by User 1. User 2 then enters the quantity of chairs he/she wants to buy and buys the product. The system then sends an email to the seller and to the buyer notifying them that they successfully purchased / sold an item.
As described, this module will require:
- Automatic function for sending of emails to buyers and sellers
- Allow users to upload images when creating an offer
Summary of use cases required for this module:
- User creates offer
- Visitor / User searches offer
- Visitor / User views offer
- User buys offer
- User modifies offer
Other requirements:
- As a guide, the user interface used during the creation, search and viewing of offers should look like the listings on ebay.
- Unit tests for all functionality MUST be present
Functionality not required:
We don't require a users management module (e.g. creating user accounts, login, etc.). In order to distinguish from different users, you can build a simple static page where you select the user you want to use from a hard-coded drop-down list, and then by clicking a button... Or if you prefer, you can build a users management module, whatever is more convenient to you.
Also, at this stage we don't require to manage any payments or any type of money transactions. Even more, at this stage, offers don't even have a price, so to buy an offer all it is required is for a user to be logged in and to press “Buy”.
Additional Business Rules
- There are 2 types of users of the website:
Visitor: someone who is not logged in into the system
User: someone with an account, who logged in into the system
- Visitors and Users can search offers
- Visitors and Users can view offers
- Users can create offers
- Users can buy offers
- A user cannot buy an offer that he/she published
- Users can buy offers which have stock available
- Only offers which haven't expired can be purchased
- Users can modify an offer that he/she created as long as no other users purchased the offer.
- Images are not required when creating an offer
- Users can upload up to 10 images for an offer
- The images uploaded cannot be larger than 500KB in size
Database Dictionary
Table User (as a reference)
User id: a unique id of the user
Name: the name of the user
Password: the password used for logging in
Email: an email address
Table Offer
Id: a unique id of the offer
Title: a short text that describes the offer (200 characters max)
Description: a longer text that describes the offer (2000 characters max)
Quantity: an integer value from 1 to 1000
Creation Date: the date of creation
Expiration Date: the date of expiration
All fields are required.
Table Offer_Images
Offer Id: Id of the offer where this image belongs to
Image Number: An offer may have many images. Image number 1 will be the one used for the preview, other images (e.g. 2, 3, 4, etc) will appear in the offer page.
Image Name: name of the image file in the /images folder. The name has to be unique. The name can be generated for example, using the md5sum with a combination of offer id, image number, and current date.
Table Order
Order Id: unique id of the order
Offer Id: id of the offer
Buyer id: id of the user that bought the item
Quantity: amount of items purchased
Creation Date: time stamp from when the order was created
Dear Customer!
I am an expert web developer with over 6 years of experience and very interested to work on this project. Available to start immediately and finish as soon as possible. My bid is for fast professional service exciting my customers. Please contact in PMB to discuss details.
Best Regards,
Zeke