demo-checkout

module
v0.0.0-...-1fb2f59 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2022 License: MIT

README

demo-checkout

Concepts

  • 將題目所提到的三種收費模式組成一個 strategy,針對第二題提出的需求變更再新增另一個 strategy
    • 透過 env 來設定類似 feature flag 的效果去做新舊版本的切換
  • 目前是將折扣以及折抵比例放進 env 進行動態調整
    • 若有後台的話將這些資料放進 DB 或是 Config System 是比較好的選擇

Contents

  • 套件依賴管理使用 Go Module
  • HTTP framework 使用 Iris
    • 可以使用其他 HTTP framework 像是 Gin 或是 echo 來取代
  • Environment variables
    • 可依所需情境使用像是 viper 的第三方套件來管理
  • Dependency Injection
    • 可依所需情境使用像是 dig 或是 wire 來作元件依賴管理

Demo

## Start server which hosts on 8080 port
./bin/server 

## Call API
## user_level: 用戶等級 (Normal: 0, VIP1: 1, VIP2: 2, VIP3: 3)
## user_points: 用戶點數
## price: 用戶購買金額
curl http://localhost:8080/calculation?user_level=2&user_points=100&price=1000

## API 回傳將會使用多少平台幣與平台點數
## -> {"coin":710,"points":100}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL