{"id":13626425,"url":"https://github.com/venkataravuri/e-commerce-microservices-sample","last_synced_at":"2025-04-16T14:33:32.677Z","repository":{"id":37412704,"uuid":"72600969","full_name":"venkataravuri/e-commerce-microservices-sample","owner":"venkataravuri","description":"A fictitious cloud-native e-commerce application using microservices architecture powered by polyglot languages \u0026 databases, deployable to Kubernetes \u0026 AWS","archived":false,"fork":false,"pushed_at":"2024-01-11T06:28:11.000Z","size":1822,"stargazers_count":259,"open_issues_count":6,"forks_count":182,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-12-09T06:31:38.086Z","etag":null,"topics":["cloudnative-services","docker","elasticsearch","kubernetes","microservices","mongodb","nodejs","python","redis","spring-boot","terraform"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/venkataravuri.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":"2016-11-02T03:33:56.000Z","updated_at":"2024-11-25T11:54:38.000Z","dependencies_parsed_at":"2024-11-08T16:35:20.206Z","dependency_job_id":"dcf441a6-c26f-4869-965b-b91796b873c2","html_url":"https://github.com/venkataravuri/e-commerce-microservices-sample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkataravuri%2Fe-commerce-microservices-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkataravuri%2Fe-commerce-microservices-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkataravuri%2Fe-commerce-microservices-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkataravuri%2Fe-commerce-microservices-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/venkataravuri","download_url":"https://codeload.github.com/venkataravuri/e-commerce-microservices-sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249250821,"owners_count":21237961,"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":["cloudnative-services","docker","elasticsearch","kubernetes","microservices","mongodb","nodejs","python","redis","spring-boot","terraform"],"created_at":"2024-08-01T21:02:18.118Z","updated_at":"2025-04-16T14:33:32.300Z","avatar_url":"https://github.com/venkataravuri.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Sample E-Commerce application using Microservices / Cloud Native Architecture (CNA)\n**_A fictitious e-commerce sample application built using modern technologies and  Microservices \u0026 Cloud Native Architecture patterns._**\n- **Polyglot Languages \u0026 Frameworks** (Java - Spring Boot/Cloud, Python - FastAPI, SQLAlachamey, JavaScript/TypeScript - Node, ExpressJS, React)\n- **Polyglot Databases** (MongoDB, Redis, ElastiSearch, PostgreSQL)\n- Able to deploy to **local Kubernetes (k8s) cluster** as containers (Docker) and also to **Public Cloud (AWS)**.\n\nThis is an end-to-end **e-commerce solution** that demonstrates how to build a moder CNA application using microservices architecture with full-stack technologies. This application includes below functional microservices which are independently deployable with bounded context.\n\n_You can standup application locally on your laptop/desktop with few steps and also to AWS._\n\n## App -  UI/UX, Architecture \u0026 Technologies Used\n\nArchitecture         |  Application UI/UX\n:-------------------------:|:-------------------------:\n\u003cimg src=\"architecture.png\" alt=\"Architecture\"\u003e | \u003cimg src=\"app-showcase.png\" alt=\"Application UI\"\u003e \n\n## Functional Microservices\n| Microservice  | Description | Technologies Used |\n| --- | --- | --- |\n| [Product Catalog Microservice](products-cna-microservice/README.md) | Provides e-commerce merchandise information and images. | A REST API built using NodeJS, ExpressJS relies MongoDB as a data store. | \n| [Shopping Cart Microservice](cart-cna-microservice/README.md) |  A Microservice with shopping cart and checkout features. | A REST API built using Spring Boot \u0026 Cloud with Gradle as build tool, leverages Redis as in-memory data store. |\n| [User Profile Microservice](users-cna-microservice/README.md) | User profile management, account and more. | A REST API built using Python FastAPI and SQLAlchamey used PostreSQL   |\n| [Search Microservice](search-cna-microservice/README.md) | Enables seach functionality such as auto complete, typeahead, faceted search features | A proxy to ElasticSearch, leverages Node|\n| [Store UI](store-ui/README.md) | A web UI frontend for e-commerce store that uses above Microservices | A web app built using React, Material UI using TypeScript/JavaScript|\n\n## Folder Structure\n```bash\n.\n├── store-ui                    # Web Store Ract App with Material UI\n│   └── ...\n├── cart-cna-microservice       # Shopping Cart Microservice repository\n├── products-cna-microservice   # Product Catalog Microservice folder\n├── search-cna-microservice     # Search Microservice\n├── users-cna-microservice      # User Profile Management Microservice\n├── users-cna-microservice      # User Profile Management Microservice\n├── store-ui                    # Web Store Ract App with Material UI\n└── infra                       # Infrastructure scripts to setup app locally \u0026 cloud\n    ├── k8s                     # Kubernetes (k8s) YAML files\n    │    └── apps               # Microservices related k8s yaml files.\n    │    └── shared-services    # Databases, ElasticSeach related k8s yaml files.\n    ├── terraform               # Terraform scripts to deploy to AWS\n    └── performance             # Performance and load testing scripts\n```\n\n## Getting Started\n\n### Build\nGo through detailed instructions specified in README.md file of each microservice.\n\n### Deploy\nRefer to [instructions](infra/README.md) to deploy application and dependent services such as MongoDB, Redis, ... either to local machine or AWS.\n\n## Issues \u0026 Feedback\nRaise an issue in Github. Will address as soon as possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkataravuri%2Fe-commerce-microservices-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenkataravuri%2Fe-commerce-microservices-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkataravuri%2Fe-commerce-microservices-sample/lists"}