https://github.com/harshit98/ecommerce-product-catalog
CRUD based API to edit product catalog for an e-commerce company.
https://github.com/harshit98/ecommerce-product-catalog
ecommerce-application hacktoberfest javascript mongodb
Last synced: about 1 year ago
JSON representation
CRUD based API to edit product catalog for an e-commerce company.
- Host: GitHub
- URL: https://github.com/harshit98/ecommerce-product-catalog
- Owner: harshit98
- License: mit
- Created: 2019-12-14T00:55:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-28T18:45:16.000Z (over 3 years ago)
- Last Synced: 2025-05-07T10:15:34.558Z (about 1 year ago)
- Topics: ecommerce-application, hacktoberfest, javascript, mongodb
- Language: JavaScript
- Homepage:
- Size: 884 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ECommerce Product Catalog
CRUD based API to edit product catalog for an e-commerce company.
## Database Schema
Product Details - Name, Category, Brand, Image.
```
var ProductSchema = new mongoose.Schema({
name: {
type: String
},
category: {
type: String
},
brand: {
type: String
},
img: {
name: String,
data: Buffer,
contentType: String
},
created: {
type: Date,
default: Date.now
}
});
```
## Features
1. API supports CRUD database operations.
2. Filter based search in database.
3. Unit tests for testing API endpoints.
4. Proper URL routing.
5. Functionality to store product image in database.
6. Functionality to fetch product image from database.
## Tech Stack
- MongoDB.
- ExpressJS.
- Jest.
## Local Deployment
Create a `uploads` folder inside `/ECommerce-Product-Catalog`. This folder will help to keep a track of uploaded product image. Make sure your MongoDB is installed and running in background.
Run server: `nodemon server.js`
After running server, redirect to `http://localhost:3000/product`
### Database Configuration
- Database name - `ProductDB`
- Collections - `products`
### Run Tests
To run tests use `npm test`
We're using `jest` for unit tests.
## Project Demo Link
Video of working project: https://youtu.be/5HZrdHXCWrY