Skip to content

NodeJS powered product managing website created for learning purposes. It has admin, buyer and seller panels created using ExpressJS on server-side and Jquery for client-side.

Notifications You must be signed in to change notification settings

hasnainnaeem/Product-Manager

Repository files navigation

Product Manager

A responsive product managing website with admin, buyer and seller panels created using node.js (express) on server-side and jquery on client-side. It was created from scratch whilst learning Express.JS & Pug. (~15 hours spent and 5 cups of coffee consumed).

Implemented Features

  • Authentication system. Cookies and sessions are used to prevent access to admin, buyer and seller panels without authorization.
  • Admin(s) can add, delete and view users.
  • Sellers can add, edit, delete and view products.
  • Buyer can view the products.
  • XSS and no-sql injections are considered (not thoroughly) whilst adding data entered by user to database.
  • Jquery and AJAX are used to communicate with the server-side for dynamic experience.
  • Responsive and elegant design.
  • Appropriate feedback is provided to user in case of actions and errors on both client-side and server-side (through AJAX)

Remaining Features

  • Back-end support for product image uploading and path storage in database.
  • Buy and review feature in buyer panel.
  • Password Hashing

Setup

1.	Install all the node packages by running “node install” command.
2.	Change the MongoDB server path and database name in file named 
        “database-settings.js” in directory “config”.
3.	Run the server. That’s it.

Database Collections

Different collections are used for buyers and sellers because a person can be a seller and buyer at the same time.

Admin

Username Email Password
Required (Used for internal operations such as storing products) Required (Used to login) Required (Not hashed)

Buyer

Username Email Password
Required (Used for internal operations such as storing products) Required (Used to login) Required (Not encrypted)

Seller

Username Email Password
Required (Used for internal operations such as storing products) Required (Used to login) Required (Not encrypted)

Product

Name Description Price Category Seller Review ImagePath
Required Optional Optional Optional Required Optional Optional

Screenshots

Home Page

alt Homepage

Login Page

alt Login Panel

Admin Panel

alt Admin Panel

Seller Panel

alt Seller Panel

Buyer Panel

alt Buyer Panel

Restricted Page

alt Restricted Page

About

NodeJS powered product managing website created for learning purposes. It has admin, buyer and seller panels created using ExpressJS on server-side and Jquery for client-side.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published