Giter Club home page Giter Club logo

micro-ecommerce's Introduction

Micro Ecommerce

Status License

Demo ecommerce application using various tech stacks

๐Ÿง About

This project is a demo ecommerce application using MSA(Microservice Architecture) and various tech stacks.

The main purpose of this project is to experiment with various tech stacks, system / software architecture, design patterns and to learn the best practice of using them.

Tech stacks, system / software architecture chosen for this project are popular or used widely in the industry.

โ›๏ธ Built Using

SCM (Source Code Management)

Git GitHub pre-commit EditorConfig Ktlint detekt SonarLint

CI / CD (Continuous Integration / Continuous Delivery)

Github Actions Renovate Gradle

Testing

JaCoCo Kotest MockK

Infrastructure

Kubernetes Rancher k3s Helm Skaffold Istio Cert-Manager Keycloak MySQL

Backend

Kotlin Spring

๐Ÿ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

  1. Install Rancher Desktop

    Rancher Desktop will install and configure the following tools:

  2. Install Skaffold

  3. Install pre-commit

Installing / Running locally

  1. Clone this repository

    git clone https://github.com/gudfhr95/micro-ecommerce
    cd micro-ecommerce
  2. (Optional) Install pre-commit hooks

    pre-commit install
  3. Config /etc/hosts

    Add the following entries to your /etc/hosts file:

    127.0.0.1 httpbin.micro-ecommerce.com
    127.0.0.1 keycloak.micro-ecommerce.com
  4. Install Cert-Manager CRDs(Custom Resource Definitions)

    Cert-Manager has a dependency on CRDs that need to be installed onto a Kubernetes cluster before Cert-Manager itself can be installed.

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.2/cert-manager.crds.yaml
  5. Run Skaffold

    skaffold dev

    All helm dependencies and charts will be installed automatically by Skaffold.

  6. Access to httpbin

    open https://httpbin.micro-ecommerce.com/status/418

    Then you will see the following response:

    -=[ teapot ]=-
       _...._
     .'  _ _ `.
    | ."` ^ `". _,
    \_;`"---"`|//
      |       ;/
      \_     _/
        `"""`
    
  7. Access to other services

    You can access other services by using the following URLs:

๐Ÿ–ผ๏ธ Diagrams

EventStorming

EventStorming

Context Map

Context Map

System Architecture

System Architecture

Microservices

Terms

  • Aggregate

    Terms Aggregate
  • ERD

    Terms ERD

โœ๏ธ Authors

๐ŸŽ‰ Acknowledgements

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.