Create a Basic Marketplace Web Application using PHP MySQL

Create a web application using HTML/CSS, Bootstrap, PHP, MySQL etc. that shall be a basic marketplace where sellers create account to list products to sell and buyers create account to review products and add them to their shopping cart. Here is the ERD of marketplace (lets call it primestore)
primestore ERD
Click Here to download SQL Script file.

Different pages you need to create to complete this marketplace are explained below.
  1. index.php i.e homepage. It shall contain list of categories (on left side) and recently added 16 products (4 products in each row) with pagination. Show each product title, price, main picture and shop name. When shop name is clicked, open same page i.e index.php to show all products of that shop (hint: Pass seller ID to index.php page as request parameter). When seller ID is received in page, display heading i.e. "All Products Listed by <Shop Title>" for the list of products. When user click a category at index.php, open same page passing category ID to list recently added products under passed category ID (Write the category name at top of the page when category ID is received as request parameter).
  2. product-detail.php page shall display all product information i.e. product ID, category name, title, price, description, all uploaded images, product added date, seller shop title and all reviews (rating, comments, customer name, review-date) posted for that product. Also display average rating of the product. This page shall open when user click the product image or title at index.php.
  3. create-shop.php page shall open when user click Create New Shop link given in footer. It shall contain a form. To create new shop, user shall enter email, user name, password, business address and shop title. When the form is submitted, it shall create a new seller account i.e. shop and redirect to homepage.
  4. create-new-customer.php page shall open when user click Signup link given in header. User shall enter email, password, name and address to create new account.
  5. There shall be three types of users i.e. admin, seller and buyer. All types of users shall login using same page i.e. login.php but each type of user should redirect to different page. admin shall redirect to admin-dashborad.php, seller should redirect to seller-dashborad.php and user (i.e customer) shall redirect to index.php.
  6. On seller-dashboard.php, show list of all products added by that seller (image, title, price, and status only). Last column i.e. actions shall contain links to remove and update the product, pointing to delete-product.php and update-product.php (update form shall facilitate updatinga ny information of the product including images). Product ID shall be passed automatically to the page when user click on links. At top of seller-dashboard.php page, show a link "Add New Product" that shall open new-product.php page for adding new product in the shop. (product attributes are already explained). When a new product is added, its status shall be false to represent its not approved by admin to be listed in marketplace. When a product is updated, make its status false, so that its not listed on marketplace until its again approved by admin.
  7. At admin dashboard, show list of non-approved products (i.e. products with false status). Each row shall contain product id, title, picture/s, price, description, approve and reject links (pointing to approve.php and reject.php page). If the product is approved, its status shall be updated to true, if its rejected, it shall be deleted from products table. The approve.php and reject.php pages shall redirect to admin-dashboard.php
  8. If customer is login on product.php (after product information) show a form with 5 radio buttons to represent POOR, SATISFACTORY, GOOD, VERY GOOD, EXCELLENT stars and a text area to review the product (only if user has not reviewed the product already). User should chose an rating option i.e. radio and enter some comments in text-areas. When user submit the review, submit the form to add-review.php page that shall save the review record and redirect to same page. If user has already posted the review, do not show review-form. If user is not login, do not show the review-form.
  9. Provide Add to Cart link at product-detail.php, when its clicked, add 1 unit of that product in the shopping cart. If product is already added in cart, add quantity by 1 unit. At header, show link View Cart to open cart.php, that shall list all the products added by user in the cart. The page shall list product name, main image and quantity. Give remove link in each row to remove product from cart. Save cart data in session. User shall be able to add products in shopping cart without login.
Other Instructions: 

You may enter list of categories in categgories table, no need to develop add/update form to manage categories in web application. Only 7-10 categories shall be enough.

Whenever an action is performed by any user, your application shall display related message on next page e.g. product added, product approved, product rejected, shop created, product updated, review saved, product removed, etc.

Use Bootstrap provided classes for different elements and layout management. Create a decent design but do not focus much on design, as I am more concerned about the functionality.

For admin, enter one record in users table, no need to provide add/update features for admin. As there would be only one admin, responsible to approve/reject products. Application shall not allow creating admin accounts.

Comments

  1. Sir could you please provide the ER diagram of Project... to make it easy

    ReplyDelete
  2. ERD and link to SQL Script of schema added in description above.

    ReplyDelete
  3. Sir ,do we have to code for forget password and remember me on login page...?

    ReplyDelete
    Replies
    1. I suggest you to not ask what is not written in given description, as it would make your task difficult/lengthy. I advise you to implement at least what is explained of high quality. To learn more, definitely you should go ahead and implement more functionality as you said.

      Delete
  4. sir SQL script which u have added above is not executing in our phpmyadmin.

    ReplyDelete
    Replies
    1. Run using MySQL Workbench. Could someone share the edit/hack to run, as many students has run it successfully?

      Delete

Post a Comment