An open API service indexing awesome lists of open source software.

https://github.com/dhanya-abhirami/shopbuddy

Interactive Online Marketplace website that facilitates product buying and selling :shopping_cart:
https://github.com/dhanya-abhirami/shopbuddy

amazon-clone e-commerce flipkart-clone shopping-site

Last synced: 7 months ago
JSON representation

Interactive Online Marketplace website that facilitates product buying and selling :shopping_cart:

Awesome Lists containing this project

README

          





Logo

ShopBuddy


Interactive Online Marketplace website that facilitates product buying and selling


View Demo
·
Report Bug/Request Feature

The site is made for educational purposes!
### Features
- [x] Authentication
- [ ] Confirm Password
- [ ] Password Reset
- [x] Signup with email ID
- [ ] Signup OAuth (Gmail,Github,Twitter)
- [ ] Verify Email
- [x] Role-based Authorization
- [x] Buyer
- [x] Browse Product List
- [ ] Search products
- [ ] Sort & Filter products
- [ ] Recommendation
- [x] Product Detail Page
- [x] Add to Cart
- [x] Checkout using Stripe
- [ ] Checkout using other services (Razorpay)
- [ ] Order Placed email confirmation
- [x] Order History
- [ ] Scheduled Email (Cron Job) for users with cart not checked out
- [x] Seller
- [x] Create products
- [x] Upload images to Cloud Storage(Cloudinary)
- [x] Security, Validation, Error & Exception Handling

# REST APIs
Swagger Documentation
```

```

Role Name Permissions
roles/viewer Permissions for read-only actions that do not affect state, such as viewing (but not modifying) existing resources or data.
roles/editor All viewer permissions, plus permissions for actions that modify state, such as changing existing resources.
roles/owner All editor permissions and permissions for the following actions: Manage roles and permissions for a project and all resources within the project; Set up billing for a project.

### Screenshots
Home Screen | Product Detail | Cart | Checkout
:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:
![]()|![]()|![]()|![]()|
Order History | Product Detail | Cart | Checkout
:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:

### Built With

### Tech stack
* Database hosted in [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)
* Backend - Node JS (Express and [Axios](https://www.npmjs.com/package/axios))
* Frontend - React JS
* Payments handled through [Stripe](https://stripe.com/en-in)
* Images in [Cloudinary](https://cloudinary.com/)

### Setup
1. Get a free API Key from MongoDB Atlas, Cloudinary, Stripe
2. Clone the repo
```console
dhanya@dhanya:~$ git clone https://github.com/Dhanya-Abhirami/ShopBuddy.git
dhanya@dhanya:~$ cd ShopBuddy
```
3. Enter your API keys in next.config.js
```json
MONGO_SRV: "",
JWT_SECRET: "",
CLOUDINARY_URL: "",
STRIPE_SECRET_KEY: ""
```
4. Build Docker Image
```console
dhanya@dhanya:~/ShopBuddy$ make build
```
5. Run
```console
dhanya@dhanya:~/ShopBuddy$ make run
```
6. Stop
```console
dhanya@dhanya:~/ShopBuddy$ make stop
```

### References
* [Reed Barger](https://github.com/reedbarger/react-reserve)
* Colours inspired from [Flipkart](https://www.flipkart.com/)