Coder Social home page Coder Social logo

ecommerce-system-platform-on-google-cloud-platform's Introduction

eCommerce-System-Platform-on-Google-Cloud-Platform

Features:

  1. User-friendly ticket creation and management.
  2. Microservices architecture for scalability and modularity.
  3. Docker containers for consistent deployment environments.
  4. GKE (Google Kubernetes Engine) orchestration for scaling and management.
  5. Google Cloud Load Balancing for routing and load balancing.

Technologies:

  • Node.js: Backend development
  • React.js (Next.js): Frontend user interface
  • Docker: Containerization of microservices
  • Google Kubernetes Engine (GKE): Container orchestration
  • Google Cloud Load Balancing: Load balancing

Getting Started:

Follow these instructions to set up and run the project locally for development or testing purposes. Make sure you have Docker and GKE installed.

  1. Clone the repository:
    git clone https://github.com/edsphinx/ecommerce-microservices.git
  2. Navigate to the project folder:
    cd e-commerce-microservices
  3. Set up GKE:
    • Create a GKE cluster:
      gcloud container clusters create e-commerce-cluster --num-nodes=3
    • Deploy the application to the GKE cluster:
      kubectl apply -f k8s/
  4. Configure Google Cloud Load Balancing:
    • Set up an Ingress resource in GKE:
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: ecommerce-ingress
      spec:
        rules:
        - host: ecommerce.yourdomain.com
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: e-commerce-service
                  port:
                    number: 80
    • Apply the Ingress resource:
      kubectl apply -f ingress.yaml

Architecture: The project follows a microservices architecture to ensure scalability, modularity, and maintainability. Docker containers encapsulate each microservice, and GKE manages container orchestration.

Microservices Architecture:

  • User Service: Handles user authentication and management.
  • Product Service: Manages product catalog and details.
  • Order Service: Processes and manages customer orders.
  • Payment Service: Handles payment processing and transactions.
  • Notification Service: Manages user notifications and communications.

Explanation of the Microservices Architecture:

  1. User Service: Interacts with a managed database service like Google Cloud SQL or Firestore for user data.
  2. Product Service: Stores product information in Google Cloud SQL or Firestore.
  3. Order Service: Manages order details and state, communicating with the Payment Service and Notification Service.
  4. Payment Service: Integrates with external payment gateways, ensuring secure transactions.
  5. Notification Service: Sends email/SMS notifications using services like SendGrid or Twilio.

Each microservice runs in its own Docker container, managed by GKE. The Google Cloud Load Balancing service ensures efficient routing and load balancing, providing a scalable and reliable eCommerce platform.

Conclusion: By leveraging GCP-specific tools and services, this eCommerce system platform ensures enhanced scalability, efficiency, and ease of management while maintaining a robust and modular architecture.

ecommerce-system-platform-on-google-cloud-platform's People

Contributors

jackobid avatar

Watchers

 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.