This is an automated email from the ASF dual-hosted git repository.

alexstocks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git


The following commit(s) were added to refs/heads/main by this push:
     new 38b2767c feat(#862):online_boutique_demo add one-click operations 
(#863)
38b2767c is described below

commit 38b2767cfa670cd74fbdfd538d9320216f086a37
Author: KamTo Hung <[email protected]>
AuthorDate: Sun Jul 27 13:11:11 2025 +0800

    feat(#862):online_boutique_demo add one-click operations (#863)
    
    * feat(#862):online_boutique_demo add one-click operations
    
    * fix: simplify Makefile commands for service operations
    
    * fix: simplify Makefile commands for service operations
    
    * fix: translate Makefile comments to English for better accessibility
    
    * docs: add script section to README for better clarity on available 
services
---
 online_boutique/Makefile                           | 181 +++++++++++++++++++++
 online_boutique/README.md                          | 144 +++++++++++++++-
 .../src/{adservive => adservice}/Dockerfile        |   0
 .../src/{adservive => adservice}/Makefile          |   0
 .../src/{adservive => adservice}/cli/main.go       |   0
 .../src/{adservive => adservice}/go.mod            |   0
 .../src/{adservive => adservice}/go.sum            |   0
 .../{adservive => adservice}/handler/adservice.go  |   0
 .../src/{adservive => adservice}/main.go           |   0
 .../{adservive => adservice}/proto/adservice.pb.go |   0
 .../{adservive => adservice}/proto/adservice.proto |   0
 .../proto/adservice.triple.go                      |   0
 .../src/{frontend => frontendservice}/Dockerfile   |   0
 .../src/{frontend => frontendservice}/Makefile     |   0
 .../{frontend => frontendservice}/config/config.go |   0
 .../deployment_details.go                          |   0
 .../src/{frontend => frontendservice}/go.mod       |   0
 .../src/{frontend => frontendservice}/go.sum       |   0
 .../src/{frontend => frontendservice}/handlers.go  |   0
 .../src/{frontend => frontendservice}/main.go      |   0
 .../{frontend => frontendservice}/middleware.go    |   0
 .../{frontend => frontendservice}/money/money.go   |   0
 .../money/money_test.go                            |   0
 .../proto/hipstershop.pb.go                        |   0
 .../proto/hipstershop.proto                        |   0
 .../proto/hipstershop.triple.go                    |   0
 .../src/{frontend => frontendservice}/rpc.go       |   0
 .../static/favicon-cymbal.ico                      | Bin
 .../static/favicon.ico                             | Bin
 .../static/icons/Cymbal_NavLogo.svg                |   0
 .../static/icons/Hipster_Advert2.svg               |   0
 .../static/icons/Hipster_CartIcon.svg              |   0
 .../static/icons/Hipster_CheckOutIcon.svg          |   0
 .../static/icons/Hipster_CurrencyIcon.svg          |   0
 .../static/icons/Hipster_DownArrow.svg             |   0
 .../static/icons/Hipster_FacebookIcon.svg          |   0
 .../static/icons/Hipster_GooglePlayIcon.svg        |   0
 .../static/icons/Hipster_HelpIcon.svg              |   0
 .../static/icons/Hipster_HeroLogo.svg              |   0
 .../static/icons/Hipster_HeroLogoCyan.svg          |   0
 .../static/icons/Hipster_InstagramIcon.svg         |   0
 .../static/icons/Hipster_KitchenwareOffer.svg      |   0
 .../static/icons/Hipster_NavLogo.svg               |   0
 .../static/icons/Hipster_PinterestIcon.svg         |   0
 .../static/icons/Hipster_ProfileIcon.svg           |   0
 .../static/icons/Hipster_SearchIcon.svg            |   0
 .../static/icons/Hipster_TwitterIcon.svg           |   0
 .../static/icons/Hipster_UpDownControl.svg         |   0
 .../static/icons/Hipster_YoutubeIcon.svg           |   0
 .../static/images/Advert2BannerImage.png           | Bin
 .../static/images/AdvertBannerImage.png            | Bin
 .../static/images/HeroBannerImage.png              | Bin
 .../static/images/HeroBannerImage2.png             | Bin
 .../static/images/VRHeadsets.png                   | Bin
 .../static/images/credits.txt                      |   0
 .../images/folded-clothes-on-white-chair-wide.jpg  | Bin
 .../images/folded-clothes-on-white-chair.jpg       | Bin
 .../static/img/products/bamboo-glass-jar.jpg       | Bin
 .../static/img/products/candle-holder.jpg          | Bin
 .../static/img/products/hairdryer.jpg              | Bin
 .../static/img/products/loafers.jpg                | Bin
 .../static/img/products/mug.jpg                    | Bin
 .../img/products/salt-and-pepper-shakers.jpg       | Bin
 .../static/img/products/sunglasses.jpg             | Bin
 .../static/img/products/tank-top.jpg               | Bin
 .../static/img/products/watch.jpg                  | Bin
 .../static/styles/cart.css                         |   0
 .../static/styles/order.css                        |   0
 .../static/styles/styles.css                       |   0
 .../templates/ad.html                              |   0
 .../templates/cart.html                            |   0
 .../templates/error.html                           |   0
 .../templates/footer.html                          |   0
 .../templates/header.html                          |   0
 .../templates/home.html                            |   0
 .../templates/order.html                           |   0
 .../templates/product.html                         |   0
 .../templates/recommendations.html                 |   0
 78 files changed, 321 insertions(+), 4 deletions(-)

diff --git a/online_boutique/Makefile b/online_boutique/Makefile
new file mode 100644
index 00000000..8ee533f4
--- /dev/null
+++ b/online_boutique/Makefile
@@ -0,0 +1,181 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Define service list and corresponding executable names
+SERVICES := adservice cartservice checkoutservice currencyservice emailservice 
frontendservice paymentservice productcatalogservice recommendationservice 
shippingservice
+
+# Define mapping from service directory names to executable names
+# Define color output
+BLUE := \033[34m
+GREEN := \033[32m
+YELLOW := \033[33m
+RED := \033[31m
+NC := \033[0m # No Color
+
+# Default target
+.PHONY: help
+help:
+       @echo "$(BLUE)Online Boutique Makefile$(NC)"
+       @echo "$(GREEN)Available targets:$(NC)"
+       @echo "  $(YELLOW)build-all$(NC)      - Build all services"
+       @echo "  $(YELLOW)start-all$(NC)      - Start all services (run in 
background)"
+       @echo "  $(YELLOW)stop-all$(NC)       - Stop all services"
+       @echo "  $(YELLOW)clean-all$(NC)      - Clean all build files"
+       @echo "  $(YELLOW)tidy-all$(NC)       - Execute go mod tidy for all 
services"
+       @echo "  $(YELLOW)logs$(NC)           - View all service logs"
+       @echo "  $(YELLOW)status$(NC)         - Check all service status"
+       @echo ""
+       @echo "$(GREEN)Individual service operations:$(NC)"
+       @echo "  $(YELLOW)build-<service>$(NC)  - Build specified service"
+       @echo "  $(YELLOW)start-<service>$(NC)  - Start specified service"
+       @echo "  $(YELLOW)stop-<service>$(NC)   - Stop specified service"
+       @echo ""
+       @echo "$(GREEN)Available services:$(NC) $(SERVICES)"
+
+# Build all services
+.PHONY: build-all
+build-all:
+       @echo "$(BLUE)Building all services...$(NC)"
+       @for service in $(SERVICES); do \
+               echo "$(GREEN)Building $$service...$(NC)"; \
+               $(MAKE) -C src/$$service build; \
+       done
+       @echo "$(GREEN)All services built successfully!$(NC)"
+
+# Start all services
+.PHONY: start-all
+start-all: build-all setup
+       @echo "$(BLUE)Starting all services...$(NC)"
+       @for service in $(SERVICES); do \
+               echo "$(GREEN)Starting $$service...$(NC)"; \
+               (cd src/$$service; \
+                nohup ./$$service > ../../logs/$$service.log 2>&1 & echo $$! > 
../../pids/$$service.pid); \
+               sleep 2; \
+       done
+       @echo "$(GREEN)All services started!$(NC)"
+
+# Stop all services
+.PHONY: stop-all
+stop-all:
+       @echo "$(BLUE)Stopping all services...$(NC)"
+       @for service in $(SERVICES); do \
+               if [ -f pids/$$service.pid ]; then \
+                       echo "$(YELLOW)Stopping $$service...$(NC)"; \
+                       kill -TERM $$(cat pids/$$service.pid) 2>/dev/null || 
true; \
+                       rm -f pids/$$service.pid; \
+               fi; \
+       done
+       @echo "$(GREEN)All services stopped!$(NC)"
+
+# Clean all build files
+.PHONY: clean-all
+clean-all:
+       @echo "$(BLUE)Cleaning all build files...$(NC)"
+       @for service in $(SERVICES); do \
+               echo "$(YELLOW)Cleaning $$service...$(NC)"; \
+               rm -f src/$$service/$$service; \
+       done
+       @rm -rf logs pids
+       @echo "$(GREEN)Cleanup complete!$(NC)"
+
+# Execute go mod tidy for all services
+.PHONY: tidy-all
+tidy-all:
+       @echo "$(BLUE)Executing go mod tidy for all services...$(NC)"
+       @for service in $(SERVICES); do \
+               echo "$(GREEN)Tidying $$service...$(NC)"; \
+               $(MAKE) -C src/$$service tidy; \
+       done
+       @echo "$(GREEN)All services tidy complete!$(NC)"
+
+# View all service logs
+.PHONY: logs
+logs:
+       @echo "$(BLUE)Viewing all service logs...$(NC)"
+       @mkdir -p logs
+       @for service in $(SERVICES); do \
+               if [ -f logs/$$service.log ]; then \
+                       echo "$(GREEN)=== $$service logs ===$(NC)"; \
+                       tail -20 logs/$$service.log; \
+                       echo ""; \
+               fi; \
+       done
+
+# Check all service status
+.PHONY: status
+status:
+       @echo "$(BLUE)Checking all service status...$(NC)"
+       @mkdir -p pids
+       @for service in $(SERVICES); do \
+               if [ -f pids/$$service.pid ]; then \
+                       pid=$$(cat pids/$$service.pid); \
+                       if ps -p $$pid > /dev/null 2>&1; then \
+                               echo "$(GREEN)✓ $$service (PID: $$pid) - 
Running$(NC)"; \
+                       else \
+                               echo "$(RED)✗ $$service - Stopped$(NC)"; \
+                               rm -f pids/$$service.pid; \
+                       fi; \
+               else \
+                       echo "$(YELLOW)- $$service - Not started$(NC)"; \
+               fi; \
+       done
+
+# Create necessary directories
+.PHONY: setup
+setup:
+       @mkdir -p logs pids
+
+# Template for individual service operations
+define service-template
+.PHONY: build-$(1)
+build-$(1):
+       @echo "$(GREEN)Building $(1)...$(NC)"
+       @$(MAKE) -C src/$(1) build
+
+.PHONY: start-$(1)
+start-$(1): build-$(1) setup
+       @echo "$(GREEN)Starting $(1)...$(NC)"
+       @cd src/$(1) && nohup ./$(1) > ../../logs/$(1).log 2>&1 & echo $$! > 
../../pids/$(1).pid
+
+.PHONY: stop-$(1)
+stop-$(1):
+       @mkdir -p pids
+       @if [ -f pids/$(1).pid ]; then \
+               echo "$(YELLOW)Stopping $(1)...$(NC)"; \
+               kill -TERM $$(cat pids/$(1).pid) 2>/dev/null || true; \
+               rm -f pids/$(1).pid; \
+       else \
+               echo "$(YELLOW)$(1) is not running$(NC)"; \
+       fi
+endef
+
+# Generate template for each service
+$(foreach service,$(SERVICES),$(eval $(call service-template,$(service))))
+
+# Environment check
+.PHONY: check-env
+check-env:
+       @echo "$(BLUE)Checking environment dependencies...$(NC)"
+       @which go > /dev/null || (echo "$(RED)Error: Go not found$(NC)" && exit 
1)
+       @echo "$(GREEN)Environment check passed!$(NC)"
+
+# Initialize project
+.PHONY: init
+init: check-env setup tidy-all
+       @echo "$(GREEN)Project initialization complete!$(NC)"
+       @echo "$(BLUE)Use 'make start-all' to start all services$(NC)"
+       @echo "$(BLUE)Use 'make help' to view more commands$(NC)"
\ No newline at end of file
diff --git a/online_boutique/README.md b/online_boutique/README.md
index 722d3cba..3f846883 100644
--- a/online_boutique/README.md
+++ b/online_boutique/README.md
@@ -1,10 +1,9 @@
 # Dubbo Go Demo 
[![License](https://img.shields.io/:license-apache-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 
[![GoDoc](https://godoc.org/github.com/go-micro/demo?status.svg)](https://godoc.org/github.com/go-micro/demo)
 [![Unit 
Tests](https://github.com/go-micro/demo/actions/workflows/ci.yml/badge.svg)](https://github.com/go-micro/demo/actions/workflows/ci.yml)
 
[![Docker](https://github.com/go-micro/demo/actions/workflows/docker.yml/badge.svg)](https://github.com/go-micro/dem
 [...]
 
 <p align="center">
-<img src="src/frontend/static/icons/Hipster_HeroLogoCyan.svg" width="300" 
alt="Online Boutique" />
+<img src="src/frontendservice/static/icons/Hipster_HeroLogoCyan.svg" 
width="300" alt="Online Boutique" />
 </p>
 
-
 **This application was forked from 
[microservices-demo](https://github.com/GoogleCloudPlatform/microservices-demo),
 used to demonstrate how to build micro servics with 
[dubbo-go](https://github.com/apache/dubbo-go).**
 
 **Online Boutique** is a cloud-native microservices demo application.
@@ -12,6 +11,139 @@ Online Boutique consists of a 11-tier microservices 
application. The application
 web-based e-commerce app where users can browse items,
 add them to the cart, and purchase them.
 
+## 🚀 Quick Start
+
+### Prerequisites
+
+Before you begin, make sure you have the following installed:
+
+- [Go](https://golang.org/doc/install) 
+- [Python 3](https://www.python.org/downloads/)
+- [pip3](https://pip.pypa.io/en/stable/installation/)
+- [ZooKeeper](https://zookeeper.apache.org/)
+
+### One-Command Setup
+
+Start all services with a single command:
+
+```bash
+make start-all
+```
+
+This command will:
+1. Build all 11 microservices
+2. Start business services in the background
+3. Wait for services to initialize
+4. Start the load generator
+
+### Access the Application
+
+Once all services are running, you can access:
+- **Web Frontend**: http://localhost:8090
+- **Service Status**: Check with `make status`
+- **Service Logs**: View with `make logs`
+
+## 📋 Makefile Commands
+
+The project includes a comprehensive Makefile for easy service management:
+
+### Basic Commands
+
+| Command | Description |
+|---------|-------------|
+| `make help` | Show all available commands |
+| `make start-all` | Build and start all services |
+| `make stop-all` | Stop all running services |
+| `make status` | Check status of all services |
+| `make logs` | View logs from all services |
+
+### Service Management
+
+| Command | Description |
+|---------|-------------|
+| `make build-all` | Build all services without starting |
+| `make clean-all` | Clean all build artifacts |
+| `make tidy-all` | Run `go mod tidy` for all services |
+
+### Individual Service Control
+
+You can control individual services using the pattern `make 
<action>-<service>`:
+
+```bash
+# Build specific service
+make build-adservice
+make build-cartservice
+
+# Start specific service
+make start-adservice
+make start-cartservice
+
+# Stop specific service
+make stop-adservice
+make stop-cartservice
+```
+
+### Available Services
+
+- `adservice` - Advertisement service
+- `cartservice` - Shopping cart service
+- `checkoutservice` - Checkout processing service
+- `currencyservice` - Currency conversion service
+- `emailservice` - Email notification service
+- `frontendservice` - Web frontend service
+- `paymentservice` - Payment processing service
+- `productcatalogservice` - Product catalog service
+- `recommendationservice` - Product recommendation service
+- `shippingservice` - Shipping cost calculation service
+
+### Environment Setup
+
+Initialize your development environment:
+
+```bash
+# Check prerequisites and initialize project
+make init
+
+# Check environment dependencies
+make check-env
+```
+
+### Service Monitoring
+
+Monitor your services:
+
+```bash
+# Check which services are running
+make status
+
+# View recent logs from all services
+make logs
+
+# View logs for a specific service
+tail -f logs/frontend.log
+```
+
+### Troubleshooting
+
+If you encounter issues:
+
+1. **Check service status**: `make status`
+2. **View logs**: `make logs`
+3. **Restart services**: `make stop-all && make start-all`
+4. **Clean build**: `make clean-all && make build-all`
+
+### Development Workflow
+
+For development, you might want to:
+
+```bash
+# Start only business services for development
+make start-all
+
+# Stop all services when done
+make stop-all
+```
+
 ## Screenshots
 
 | Home Page                                                                    
                                           | Checkout Screen                    
                                                                                
      |
@@ -28,8 +160,8 @@ languages that talk to each other over gRPC. See the 
[Development Principles](/d
 
microservices](./docs/img/architecture-diagram.png)](./docs/img/architecture-diagram.png)
 
 | Service                                              | Language      | 
Description                                                                     
                                                  |
-| ---------------------------------------------------- | ------------- | 
---------------------------------------------------------------------------------------------------------------------------------
 |
-| [frontend](./src/frontend)                           | Go            | 
Exposes an HTTP server to serve the website. Does not require signup/login and 
generates session IDs for all users automatically. |
+|------------------------------------------------------| ------------- | 
---------------------------------------------------------------------------------------------------------------------------------
 |
+| [frontendservice](src/frontendservice)               | Go            | 
Exposes an HTTP server to serve the website. Does not require signup/login and 
generates session IDs for all users automatically. |
 | [cartservice](./src/cartservice)                     | Go            | 
Stores the items in the user's shopping cart in Redis and retrieves it.         
                                                  |
 | [productcatalogservice](./src/productcatalogservice) | Go            | 
Provides the list of products from a JSON file and ability to search products 
and get individual products.                        |
 | [currencyservice](./src/currencyservice)             | Go            | 
Converts one money amount to another currency. Uses real values fetched from 
European Central Bank. It's the highest QPS service. |
@@ -39,6 +171,10 @@ 
microservices](./docs/img/architecture-diagram.png)](./docs/img/architecture-dia
 | [checkoutservice](./src/checkoutservice)             | Go            | 
Retrieves user cart, prepares order and orchestrates the payment, shipping and 
the email notification.                            |
 | [recommendationservice](./src/recommendationservice) | Go            | 
Recommends other products based on what's given in the cart.                    
                                                  |
 | [adservice](./src/adservice)                         | Go            | 
Provides text ads based on given context words.                                 
                                                  |
+
+
+| Script                                              | Language      | 
Description                                                                     
                                                  |
+|------------------------------------------------------| ------------- | 
---------------------------------------------------------------------------------------------------------------------------------
 |
 | [loadgenerator](./src/loadgenerator)                 | Python+Locust | 
Continuously sends requests imitating realistic user shopping flows to the 
frontend.                                              |
 
 ## Features
diff --git a/online_boutique/src/adservive/Dockerfile 
b/online_boutique/src/adservice/Dockerfile
similarity index 100%
rename from online_boutique/src/adservive/Dockerfile
rename to online_boutique/src/adservice/Dockerfile
diff --git a/online_boutique/src/adservive/Makefile 
b/online_boutique/src/adservice/Makefile
similarity index 100%
rename from online_boutique/src/adservive/Makefile
rename to online_boutique/src/adservice/Makefile
diff --git a/online_boutique/src/adservive/cli/main.go 
b/online_boutique/src/adservice/cli/main.go
similarity index 100%
rename from online_boutique/src/adservive/cli/main.go
rename to online_boutique/src/adservice/cli/main.go
diff --git a/online_boutique/src/adservive/go.mod 
b/online_boutique/src/adservice/go.mod
similarity index 100%
rename from online_boutique/src/adservive/go.mod
rename to online_boutique/src/adservice/go.mod
diff --git a/online_boutique/src/adservive/go.sum 
b/online_boutique/src/adservice/go.sum
similarity index 100%
rename from online_boutique/src/adservive/go.sum
rename to online_boutique/src/adservice/go.sum
diff --git a/online_boutique/src/adservive/handler/adservice.go 
b/online_boutique/src/adservice/handler/adservice.go
similarity index 100%
rename from online_boutique/src/adservive/handler/adservice.go
rename to online_boutique/src/adservice/handler/adservice.go
diff --git a/online_boutique/src/adservive/main.go 
b/online_boutique/src/adservice/main.go
similarity index 100%
rename from online_boutique/src/adservive/main.go
rename to online_boutique/src/adservice/main.go
diff --git a/online_boutique/src/adservive/proto/adservice.pb.go 
b/online_boutique/src/adservice/proto/adservice.pb.go
similarity index 100%
rename from online_boutique/src/adservive/proto/adservice.pb.go
rename to online_boutique/src/adservice/proto/adservice.pb.go
diff --git a/online_boutique/src/adservive/proto/adservice.proto 
b/online_boutique/src/adservice/proto/adservice.proto
similarity index 100%
rename from online_boutique/src/adservive/proto/adservice.proto
rename to online_boutique/src/adservice/proto/adservice.proto
diff --git a/online_boutique/src/adservive/proto/adservice.triple.go 
b/online_boutique/src/adservice/proto/adservice.triple.go
similarity index 100%
rename from online_boutique/src/adservive/proto/adservice.triple.go
rename to online_boutique/src/adservice/proto/adservice.triple.go
diff --git a/online_boutique/src/frontend/Dockerfile 
b/online_boutique/src/frontendservice/Dockerfile
similarity index 100%
rename from online_boutique/src/frontend/Dockerfile
rename to online_boutique/src/frontendservice/Dockerfile
diff --git a/online_boutique/src/frontend/Makefile 
b/online_boutique/src/frontendservice/Makefile
similarity index 100%
rename from online_boutique/src/frontend/Makefile
rename to online_boutique/src/frontendservice/Makefile
diff --git a/online_boutique/src/frontend/config/config.go 
b/online_boutique/src/frontendservice/config/config.go
similarity index 100%
rename from online_boutique/src/frontend/config/config.go
rename to online_boutique/src/frontendservice/config/config.go
diff --git a/online_boutique/src/frontend/deployment_details.go 
b/online_boutique/src/frontendservice/deployment_details.go
similarity index 100%
rename from online_boutique/src/frontend/deployment_details.go
rename to online_boutique/src/frontendservice/deployment_details.go
diff --git a/online_boutique/src/frontend/go.mod 
b/online_boutique/src/frontendservice/go.mod
similarity index 100%
rename from online_boutique/src/frontend/go.mod
rename to online_boutique/src/frontendservice/go.mod
diff --git a/online_boutique/src/frontend/go.sum 
b/online_boutique/src/frontendservice/go.sum
similarity index 100%
rename from online_boutique/src/frontend/go.sum
rename to online_boutique/src/frontendservice/go.sum
diff --git a/online_boutique/src/frontend/handlers.go 
b/online_boutique/src/frontendservice/handlers.go
similarity index 100%
rename from online_boutique/src/frontend/handlers.go
rename to online_boutique/src/frontendservice/handlers.go
diff --git a/online_boutique/src/frontend/main.go 
b/online_boutique/src/frontendservice/main.go
similarity index 100%
rename from online_boutique/src/frontend/main.go
rename to online_boutique/src/frontendservice/main.go
diff --git a/online_boutique/src/frontend/middleware.go 
b/online_boutique/src/frontendservice/middleware.go
similarity index 100%
rename from online_boutique/src/frontend/middleware.go
rename to online_boutique/src/frontendservice/middleware.go
diff --git a/online_boutique/src/frontend/money/money.go 
b/online_boutique/src/frontendservice/money/money.go
similarity index 100%
rename from online_boutique/src/frontend/money/money.go
rename to online_boutique/src/frontendservice/money/money.go
diff --git a/online_boutique/src/frontend/money/money_test.go 
b/online_boutique/src/frontendservice/money/money_test.go
similarity index 100%
rename from online_boutique/src/frontend/money/money_test.go
rename to online_boutique/src/frontendservice/money/money_test.go
diff --git a/online_boutique/src/frontend/proto/hipstershop.pb.go 
b/online_boutique/src/frontendservice/proto/hipstershop.pb.go
similarity index 100%
rename from online_boutique/src/frontend/proto/hipstershop.pb.go
rename to online_boutique/src/frontendservice/proto/hipstershop.pb.go
diff --git a/online_boutique/src/frontend/proto/hipstershop.proto 
b/online_boutique/src/frontendservice/proto/hipstershop.proto
similarity index 100%
rename from online_boutique/src/frontend/proto/hipstershop.proto
rename to online_boutique/src/frontendservice/proto/hipstershop.proto
diff --git a/online_boutique/src/frontend/proto/hipstershop.triple.go 
b/online_boutique/src/frontendservice/proto/hipstershop.triple.go
similarity index 100%
rename from online_boutique/src/frontend/proto/hipstershop.triple.go
rename to online_boutique/src/frontendservice/proto/hipstershop.triple.go
diff --git a/online_boutique/src/frontend/rpc.go 
b/online_boutique/src/frontendservice/rpc.go
similarity index 100%
rename from online_boutique/src/frontend/rpc.go
rename to online_boutique/src/frontendservice/rpc.go
diff --git a/online_boutique/src/frontend/static/favicon-cymbal.ico 
b/online_boutique/src/frontendservice/static/favicon-cymbal.ico
similarity index 100%
rename from online_boutique/src/frontend/static/favicon-cymbal.ico
rename to online_boutique/src/frontendservice/static/favicon-cymbal.ico
diff --git a/online_boutique/src/frontend/static/favicon.ico 
b/online_boutique/src/frontendservice/static/favicon.ico
similarity index 100%
rename from online_boutique/src/frontend/static/favicon.ico
rename to online_boutique/src/frontendservice/static/favicon.ico
diff --git a/online_boutique/src/frontend/static/icons/Cymbal_NavLogo.svg 
b/online_boutique/src/frontendservice/static/icons/Cymbal_NavLogo.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Cymbal_NavLogo.svg
rename to online_boutique/src/frontendservice/static/icons/Cymbal_NavLogo.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_Advert2.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_Advert2.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_Advert2.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_Advert2.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_CartIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_CartIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_CartIcon.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_CartIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_CheckOutIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_CheckOutIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_CheckOutIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_CheckOutIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_CurrencyIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_CurrencyIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_CurrencyIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_CurrencyIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_DownArrow.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_DownArrow.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_DownArrow.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_DownArrow.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_FacebookIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_FacebookIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_FacebookIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_FacebookIcon.svg
diff --git 
a/online_boutique/src/frontend/static/icons/Hipster_GooglePlayIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_GooglePlayIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_GooglePlayIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_GooglePlayIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_HelpIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_HelpIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_HelpIcon.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_HelpIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_HeroLogo.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_HeroLogo.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_HeroLogo.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_HeroLogo.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_HeroLogoCyan.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_HeroLogoCyan.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_HeroLogoCyan.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_HeroLogoCyan.svg
diff --git 
a/online_boutique/src/frontend/static/icons/Hipster_InstagramIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_InstagramIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_InstagramIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_InstagramIcon.svg
diff --git 
a/online_boutique/src/frontend/static/icons/Hipster_KitchenwareOffer.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_KitchenwareOffer.svg
similarity index 100%
rename from 
online_boutique/src/frontend/static/icons/Hipster_KitchenwareOffer.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_KitchenwareOffer.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_NavLogo.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_NavLogo.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_NavLogo.svg
rename to online_boutique/src/frontendservice/static/icons/Hipster_NavLogo.svg
diff --git 
a/online_boutique/src/frontend/static/icons/Hipster_PinterestIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_PinterestIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_PinterestIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_PinterestIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_ProfileIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_ProfileIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_ProfileIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_ProfileIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_SearchIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_SearchIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_SearchIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_SearchIcon.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_TwitterIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_TwitterIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_TwitterIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_TwitterIcon.svg
diff --git 
a/online_boutique/src/frontend/static/icons/Hipster_UpDownControl.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_UpDownControl.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_UpDownControl.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_UpDownControl.svg
diff --git a/online_boutique/src/frontend/static/icons/Hipster_YoutubeIcon.svg 
b/online_boutique/src/frontendservice/static/icons/Hipster_YoutubeIcon.svg
similarity index 100%
rename from online_boutique/src/frontend/static/icons/Hipster_YoutubeIcon.svg
rename to 
online_boutique/src/frontendservice/static/icons/Hipster_YoutubeIcon.svg
diff --git a/online_boutique/src/frontend/static/images/Advert2BannerImage.png 
b/online_boutique/src/frontendservice/static/images/Advert2BannerImage.png
similarity index 100%
rename from online_boutique/src/frontend/static/images/Advert2BannerImage.png
rename to 
online_boutique/src/frontendservice/static/images/Advert2BannerImage.png
diff --git a/online_boutique/src/frontend/static/images/AdvertBannerImage.png 
b/online_boutique/src/frontendservice/static/images/AdvertBannerImage.png
similarity index 100%
rename from online_boutique/src/frontend/static/images/AdvertBannerImage.png
rename to 
online_boutique/src/frontendservice/static/images/AdvertBannerImage.png
diff --git a/online_boutique/src/frontend/static/images/HeroBannerImage.png 
b/online_boutique/src/frontendservice/static/images/HeroBannerImage.png
similarity index 100%
rename from online_boutique/src/frontend/static/images/HeroBannerImage.png
rename to online_boutique/src/frontendservice/static/images/HeroBannerImage.png
diff --git a/online_boutique/src/frontend/static/images/HeroBannerImage2.png 
b/online_boutique/src/frontendservice/static/images/HeroBannerImage2.png
similarity index 100%
rename from online_boutique/src/frontend/static/images/HeroBannerImage2.png
rename to online_boutique/src/frontendservice/static/images/HeroBannerImage2.png
diff --git a/online_boutique/src/frontend/static/images/VRHeadsets.png 
b/online_boutique/src/frontendservice/static/images/VRHeadsets.png
similarity index 100%
rename from online_boutique/src/frontend/static/images/VRHeadsets.png
rename to online_boutique/src/frontendservice/static/images/VRHeadsets.png
diff --git a/online_boutique/src/frontend/static/images/credits.txt 
b/online_boutique/src/frontendservice/static/images/credits.txt
similarity index 100%
rename from online_boutique/src/frontend/static/images/credits.txt
rename to online_boutique/src/frontendservice/static/images/credits.txt
diff --git 
a/online_boutique/src/frontend/static/images/folded-clothes-on-white-chair-wide.jpg
 
b/online_boutique/src/frontendservice/static/images/folded-clothes-on-white-chair-wide.jpg
similarity index 100%
rename from 
online_boutique/src/frontend/static/images/folded-clothes-on-white-chair-wide.jpg
rename to 
online_boutique/src/frontendservice/static/images/folded-clothes-on-white-chair-wide.jpg
diff --git 
a/online_boutique/src/frontend/static/images/folded-clothes-on-white-chair.jpg 
b/online_boutique/src/frontendservice/static/images/folded-clothes-on-white-chair.jpg
similarity index 100%
rename from 
online_boutique/src/frontend/static/images/folded-clothes-on-white-chair.jpg
rename to 
online_boutique/src/frontendservice/static/images/folded-clothes-on-white-chair.jpg
diff --git 
a/online_boutique/src/frontend/static/img/products/bamboo-glass-jar.jpg 
b/online_boutique/src/frontendservice/static/img/products/bamboo-glass-jar.jpg
similarity index 100%
rename from 
online_boutique/src/frontend/static/img/products/bamboo-glass-jar.jpg
rename to 
online_boutique/src/frontendservice/static/img/products/bamboo-glass-jar.jpg
diff --git a/online_boutique/src/frontend/static/img/products/candle-holder.jpg 
b/online_boutique/src/frontendservice/static/img/products/candle-holder.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/candle-holder.jpg
rename to 
online_boutique/src/frontendservice/static/img/products/candle-holder.jpg
diff --git a/online_boutique/src/frontend/static/img/products/hairdryer.jpg 
b/online_boutique/src/frontendservice/static/img/products/hairdryer.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/hairdryer.jpg
rename to online_boutique/src/frontendservice/static/img/products/hairdryer.jpg
diff --git a/online_boutique/src/frontend/static/img/products/loafers.jpg 
b/online_boutique/src/frontendservice/static/img/products/loafers.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/loafers.jpg
rename to online_boutique/src/frontendservice/static/img/products/loafers.jpg
diff --git a/online_boutique/src/frontend/static/img/products/mug.jpg 
b/online_boutique/src/frontendservice/static/img/products/mug.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/mug.jpg
rename to online_boutique/src/frontendservice/static/img/products/mug.jpg
diff --git 
a/online_boutique/src/frontend/static/img/products/salt-and-pepper-shakers.jpg 
b/online_boutique/src/frontendservice/static/img/products/salt-and-pepper-shakers.jpg
similarity index 100%
rename from 
online_boutique/src/frontend/static/img/products/salt-and-pepper-shakers.jpg
rename to 
online_boutique/src/frontendservice/static/img/products/salt-and-pepper-shakers.jpg
diff --git a/online_boutique/src/frontend/static/img/products/sunglasses.jpg 
b/online_boutique/src/frontendservice/static/img/products/sunglasses.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/sunglasses.jpg
rename to online_boutique/src/frontendservice/static/img/products/sunglasses.jpg
diff --git a/online_boutique/src/frontend/static/img/products/tank-top.jpg 
b/online_boutique/src/frontendservice/static/img/products/tank-top.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/tank-top.jpg
rename to online_boutique/src/frontendservice/static/img/products/tank-top.jpg
diff --git a/online_boutique/src/frontend/static/img/products/watch.jpg 
b/online_boutique/src/frontendservice/static/img/products/watch.jpg
similarity index 100%
rename from online_boutique/src/frontend/static/img/products/watch.jpg
rename to online_boutique/src/frontendservice/static/img/products/watch.jpg
diff --git a/online_boutique/src/frontend/static/styles/cart.css 
b/online_boutique/src/frontendservice/static/styles/cart.css
similarity index 100%
rename from online_boutique/src/frontend/static/styles/cart.css
rename to online_boutique/src/frontendservice/static/styles/cart.css
diff --git a/online_boutique/src/frontend/static/styles/order.css 
b/online_boutique/src/frontendservice/static/styles/order.css
similarity index 100%
rename from online_boutique/src/frontend/static/styles/order.css
rename to online_boutique/src/frontendservice/static/styles/order.css
diff --git a/online_boutique/src/frontend/static/styles/styles.css 
b/online_boutique/src/frontendservice/static/styles/styles.css
similarity index 100%
rename from online_boutique/src/frontend/static/styles/styles.css
rename to online_boutique/src/frontendservice/static/styles/styles.css
diff --git a/online_boutique/src/frontend/templates/ad.html 
b/online_boutique/src/frontendservice/templates/ad.html
similarity index 100%
rename from online_boutique/src/frontend/templates/ad.html
rename to online_boutique/src/frontendservice/templates/ad.html
diff --git a/online_boutique/src/frontend/templates/cart.html 
b/online_boutique/src/frontendservice/templates/cart.html
similarity index 100%
rename from online_boutique/src/frontend/templates/cart.html
rename to online_boutique/src/frontendservice/templates/cart.html
diff --git a/online_boutique/src/frontend/templates/error.html 
b/online_boutique/src/frontendservice/templates/error.html
similarity index 100%
rename from online_boutique/src/frontend/templates/error.html
rename to online_boutique/src/frontendservice/templates/error.html
diff --git a/online_boutique/src/frontend/templates/footer.html 
b/online_boutique/src/frontendservice/templates/footer.html
similarity index 100%
rename from online_boutique/src/frontend/templates/footer.html
rename to online_boutique/src/frontendservice/templates/footer.html
diff --git a/online_boutique/src/frontend/templates/header.html 
b/online_boutique/src/frontendservice/templates/header.html
similarity index 100%
rename from online_boutique/src/frontend/templates/header.html
rename to online_boutique/src/frontendservice/templates/header.html
diff --git a/online_boutique/src/frontend/templates/home.html 
b/online_boutique/src/frontendservice/templates/home.html
similarity index 100%
rename from online_boutique/src/frontend/templates/home.html
rename to online_boutique/src/frontendservice/templates/home.html
diff --git a/online_boutique/src/frontend/templates/order.html 
b/online_boutique/src/frontendservice/templates/order.html
similarity index 100%
rename from online_boutique/src/frontend/templates/order.html
rename to online_boutique/src/frontendservice/templates/order.html
diff --git a/online_boutique/src/frontend/templates/product.html 
b/online_boutique/src/frontendservice/templates/product.html
similarity index 100%
rename from online_boutique/src/frontend/templates/product.html
rename to online_boutique/src/frontendservice/templates/product.html
diff --git a/online_boutique/src/frontend/templates/recommendations.html 
b/online_boutique/src/frontendservice/templates/recommendations.html
similarity index 100%
rename from online_boutique/src/frontend/templates/recommendations.html
rename to online_boutique/src/frontendservice/templates/recommendations.html


Reply via email to