eCommerce Store, inspired by 'GCP Microserves demo'
Tags: redishackathon, webdev, programming, python
Published: 2022-08-29 18:48:26

### Overview of My Submission
[Note]: # (Share what you built, how you built it, and the inspiration behind the idea! Please make sure the project links to the appropriate GitHub repository, and includes the [MIT](https://choosealicense.com/licenses/mit/), [Apache](https://www.apache.org/licenses/), [BSD-2](https://opensource.org/licenses/BSD-2-Clause), [BSD-3](https://opensource.org/licenses/BSD-3-Clause), or [Commons Clause](https://commonsclause.com/) license and a README.)

**Infinite Blob** is a cloud-first microservices demo application. The application is a web-based e-commerce store where users can browse digital items, add them to the cart, and purchase them. **Backgrounds tasks** like processing payments, invoice generation and sending emails are also there in the project.

It consists of **10-tier microservices**. That are performing various tasks.

![Architecture and Flow](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/Architecture.jpg)

#### Inspired By [GCP Microserves demo](https://github.com/GoogleCloudPlatform/microservices-demo)

This project is using similar architecture as GCP Microserves demo, but trying to use as much as Redis features as possible.

This Project is using the following features of Redis

- Storing Data in database with the help of `JSONModels` ✅
- Ads and Recommendation Engines are using features like `Querying and indexing` ✅
- Background Tasks like Generating Invoice and Sending Emails are using `Pub/Sub features` ✅

---

#### Screenshots

| Home Page | Product Page |
| --- | --- |
| ![Home Page](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/01.Home.png) | ![Screenshot of checkout screen](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/02.Product.png) |

---

| Ad and Recomm. | Cart and Checkout Page |
| --- | --- |
| ![Ad and Recommendations](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/03.AdAndRecommendations.png) | ![Checkout Page](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/04.Cart.png) |

---

### Submission Category: 

Minimalism Magicians

---

### Video Explainer of My Project

Here's a short video that explains the project and how it uses Redis:

[![YouTube Video](https://raw.githubusercontent.com/RajeshJ3/ecom_services/main/assets/images/YouTubeThumbnail.png)](https://www.youtube.com/watch?v=Xd8Kx3YMjZE)

---

### Language Used


| **Front-end** | **Back-end** |
| --- | --- |
| JS/TS/Node.js | Python |


[Note]: # (Select the language you used for your project – must be one of the following: C#/ASP.NET Core, Java/Spring, JS/TS/Node.js, Python)

---

### Link to Code

{% embed https://github.com/RajeshJ3/ecom_services %}

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% embed link_to_your_repo %}` to share a GitHub repository)

---

### Additional Resources / Info

Open source projects that are using similar workflow

- [GCP Microserves demo](https://github.com/GoogleCloudPlatform/microservices-demo)

---

### Collaborators

**Solo project** by @rajeshj3

[Note]: # (Be sure to include the DEV usernames of your collaborators, if any. Prizes for winning projects with multiple collaborators will be sent ONLY to the person who posts this submission and they will distribute the prize evenly.)

[Note]: # (All collaborators with DEV profiles listed here will receive a badge, however, prizes including sticker packs will only be sent to the member who publishes the post, with the person expected to distribute the prizes evenly amongst their collaborators.)

---

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._

---

Cheers

Happy Coding