{"id":20760746,"url":"https://github.com/dracula27/productstore","last_synced_at":"2026-04-02T02:50:10.062Z","repository":{"id":92041796,"uuid":"592407450","full_name":"DrAcula27/productStore","owner":"DrAcula27","description":"Per Scholas - Week 9 - Front-end, Express, and MongoDB - MODULE 2 PROJECT: Product Store","archived":false,"fork":false,"pushed_at":"2023-02-09T22:12:58.000Z","size":2813,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T17:17:43.582Z","etag":null,"topics":["css","express","git","github","html","javascript","mongodb"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DrAcula27.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-23T17:05:45.000Z","updated_at":"2023-02-02T19:46:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7188939-0c5d-41c5-aee7-21b515bb22ce","html_url":"https://github.com/DrAcula27/productStore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DrAcula27/productStore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrAcula27%2FproductStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrAcula27%2FproductStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrAcula27%2FproductStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrAcula27%2FproductStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DrAcula27","download_url":"https://codeload.github.com/DrAcula27/productStore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DrAcula27%2FproductStore/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262667272,"owners_count":23345527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","express","git","github","html","javascript","mongodb"],"created_at":"2024-11-17T10:15:15.697Z","updated_at":"2025-12-30T20:06:45.455Z","avatar_url":"https://github.com/DrAcula27.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWelcome to productStore!\u003c/h1\u003e\n\u003cp\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/npm-%3E%3D9.1.2-blue.svg\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/node-%3E%3D18.12.1-blue.svg\" /\u003e\n  \u003ca href=\"https://github.com/DrAcula27/productStore#readme\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/DrAcula27/productStore/graphs/commit-activity\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Maintenance\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"#\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: ISC\" src=\"https://img.shields.io/github/license/DrAcula27/productStore\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e Per Scholas - Week 9 - Front-end, Express, and MongoDB - MODULE 2 PROJECT: Product Store\n\n\u003e This is the second major project through my Software Engineering course at Per Scholas. It simulates an online web store / inventory management system where you can view(**read**), browse, search for, **create**, **update**, buy, and **delete** products. It combines both front-end (`HTML`, `CSS`, `JavaScript`) and back-end (`Node.js`, `Express.js`, `MongoDB`, `Mongoose`) technologies.\n\n## Demo\n\n![demo gif](./public/assets/productStoreDemo.gif)\n\n### 🏠 [Homepage](https://github.com/DrAcula27/productStore#readme)\n\n## Author\n\n👤 **Danielle Andrews**\n\n- Github: [@DrAcula27](https://github.com/DrAcula27)\n- LinkedIn: [@daniellerandrews](https://linkedin.com/in/daniellerandrews)\n\n## Project Details and Minimum Viable Product (MVP) to Pass\n\n**Navigation between pages should be done with a `navbar` (using JS to switch html files) AND/OR by clicking on things in the page (JS switches html files)**\n\n### Pages\n\n1. HOME page (index):\n   - All the products are displayed.\n   - The user can visit each product from here.\n   - If the user clicks on the image, it links to the PRODUCT page.\n   - There is a link to add a new product.\n1. PRODUCT page:\n   - Shows specific product and it’s details.\n   - Has a link back to the HOME page.\n   - Has a link to edit the product that goes to the EDIT page.\n   - Has a delete button that deletes that specific product.\n   - The user can also search for a specific product from this page.\n   - Clicking the buy button should lower the remaining inventory by 1.\n   - If the quantity of the product is zero, its product page should say 'OUT OF STOCK' instead of saying how many are remaining.\n   - The BUY button should not be rendered if the product is out of stock.\n1. EDIT page:\n   - Allows the user to edit the data of a specific product using it’s product ID.\n1. CREATE page:\n   - Allows for the creation of new products (users will include a URL for the image).\n\n### Redirects\n\n1. The `create` route should redirect to HOME after creation.\n1. The `delete` route should redirect to HOME after deletion.\n1. The `edit` route will redirect to the edited product's PRODUCT page after the object is changed in the collection.\n\n### Routes\n\n1. `/get_products` - responds with all products in the collection.\n1. `/get_specific_product/:product_id` - responds with one specific product from the collection.\n1. `/create_product` - uses information from `req.body` to make a new product in the collection.\n1. `/delete_product` - uses the product ID in the URL as a query.\n   - Example: `/delete_product/?productId=63cd55e8b260470b1c1f2cc0`\n1. `/update_product` - uses information from `req.body` to update the specific product.\n\n### Technical Requirements\n\n1. The app must run without syntax errors.\n1. The app must contain all routes listed above.\n1. The app must be styled and look like a store.\n1. The app must have a well documented README file.\n   - Add this README.md file manually, NOT through GitHub.\n1. Create a video showcasing the application and code. This video needs to be in the README file.\n\n## Tech Stack\n\nThis project uses 3 of the 4 components of the MERN stack.\n\n- **M** - \u003cimg src=\"https://raw.githubusercontent.com/mongodb/mongo/master/docs/leaf.svg\" width=\"20\" height=\"20\" /\u003e [MongoDB](https://www.mongodb.com/)\n- **E** - \u003cimg src=\"https://raw.githubusercontent.com/expressjs/expressjs.com/gh-pages/images/favicon.png\" width=\"20\" height=\"20\" /\u003e [Express](https://expressjs.com/)\n- **N** - \u003cimg src=\"https://raw.githubusercontent.com/nodejs/nodejs.org/main/static/images/logos/js-green.svg\" width=\"20\" height=\"20\" /\u003e [Node](https://nodejs.org/en/)\n\n## Future Work\n\n- Add the ability to add products to a cart and then purchase them all in one click.\n\n## Attributions\n\n- Favicon: \u003ca href=\"https://www.flaticon.com/free-icons/shop\" title=\"shop icons\"\u003eShop icons created by srip - Flaticon\u003c/a\u003e\n- Icons are from [Fontawesome](https://fontawesome.com/).\n- Product images are from [Unsplash](https://unsplash.com/).\n- Colors are official [Georgia Tech](https://www.gatech.edu/) brand colors.\n\n## Show Your Support\n\nGive a ⭐️ if you liked this project!\n\n---\n\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdracula27%2Fproductstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdracula27%2Fproductstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdracula27%2Fproductstore/lists"}