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).
- 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)
- Back-end support for product image uploading and path storage in database.
- Buy and review feature in buyer panel.
- Password Hashing
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.
Different collections are used for buyers and sellers because a person can be a seller and buyer at the same time.
Username | Password | |
---|---|---|
Required (Used for internal operations such as storing products) | Required (Used to login) | Required (Not hashed) |
Username | Password | |
---|---|---|
Required (Used for internal operations such as storing products) | Required (Used to login) | Required (Not encrypted) |
Username | Password | |
---|---|---|
Required (Used for internal operations such as storing products) | Required (Used to login) | Required (Not encrypted) |
Name | Description | Price | Category | Seller | Review | ImagePath |
---|---|---|---|---|---|---|
Required | Optional | Optional | Optional | Required | Optional | Optional |