Coder Social home page Coder Social logo

samin-irtiza / e-commerce-microservices-sample Goto Github PK

View Code? Open in Web Editor NEW

This project forked from venkataravuri/e-commerce-microservices-sample

0.0 0.0 0.0 1.78 MB

A fictitious cloud-native e-commerce application using microservices architecture powered by polyglot languages & databases, deployable to Kubernetes & AWS

JavaScript 16.95% Python 7.19% Java 13.69% TypeScript 51.65% CSS 0.64% HTML 3.03% HCL 3.96% Dockerfile 2.89%

e-commerce-microservices-sample's Introduction

Sample E-Commerce application using Microservices / Cloud Native Architecture (CNA)

A fictitious e-commerce sample application built using modern technologies and Microservices & Cloud Native Architecture patterns.

  • Polyglot Languages & Frameworks (Java - Spring Boot/Cloud, Python - FastAPI, SQLAlachamey, JavaScript/TypeScript - Node, ExpressJS, React)
  • Polyglot Databases (MongoDB, Redis, ElastiSearch, PostgreSQL)
  • Able to deploy to local Kubernetes (k8s) cluster as containers (Docker) and also to Public Cloud (AWS).

This 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.

You can standup application locally on your laptop/desktop with few steps and also to AWS.

App - UI/UX, Architecture & Technologies Used

Architecture Application UI/UX
Architecture Application UI

Functional Microservices

Microservice Description Technologies Used
Product Catalog Microservice Provides e-commerce merchandise information and images. A REST API built using NodeJS, ExpressJS relies MongoDB as a data store.
Shopping Cart Microservice A Microservice with shopping cart and checkout features. A REST API built using Spring Boot & Cloud with Gradle as build tool, leverages Redis as in-memory data store.
User Profile Microservice User profile management, account and more. A REST API built using Python FastAPI and SQLAlchamey used PostreSQL
Search Microservice Enables seach functionality such as auto complete, typeahead, faceted search features A proxy to ElasticSearch, leverages Node
Store UI A web UI frontend for e-commerce store that uses above Microservices A web app built using React, Material UI using TypeScript/JavaScript

Folder Structure

.
├── store-ui                    # Web Store Ract App with Material UI
│   └── ...
├── cart-cna-microservice       # Shopping Cart Microservice repository
├── products-cna-microservice   # Product Catalog Microservice folder
├── search-cna-microservice     # Search Microservice
├── users-cna-microservice      # User Profile Management Microservice
├── users-cna-microservice      # User Profile Management Microservice
├── store-ui                    # Web Store Ract App with Material UI
└── infra                       # Infrastructure scripts to setup app locally & cloud
    ├── k8s                     # Kubernetes (k8s) YAML files
    │    └── apps               # Microservices related k8s yaml files.
    │    └── shared-services    # Databases, ElasticSeach related k8s yaml files.
    ├── terraform               # Terraform scripts to deploy to AWS
    └── performance             # Performance and load testing scripts

Getting Started

Build

Go through detailed instructions specified in README.md file of each microservice.

Deploy

Refer to instructions to deploy application and dependent services such as MongoDB, Redis, ... either to local machine or AWS.

Issues & Feedback

Raise an issue in Github. Will address as soon as possible.

e-commerce-microservices-sample's People

Contributors

venkataravuri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.