Files
pos-system/services/catalog-service-net/docs/vi

Catalog Service

Quản lý sản phẩm đa hình cho nền tảng thương mại đa ngành hàng.

Tổng Quan

Catalog Service quản lý sản phẩm cho nhiều ngành dọc (Retail, F&B, Services) với mô hình dữ liệu thống nhất sử dụng JSONB cho thuộc tính theo từng loại.

Tính Năng Chính

  • Sản phẩm Đa hình - Bảng sản phẩm đơn hỗ trợ Physical, Service, PreparedFood
  • Thuộc tính JSONB - Thuộc tính động theo loại (Cân nặng, Thời lượng, Topping...)
  • Đa tenant - Catalog sản phẩm theo Shop
  • Quản lý Danh mục - Danh mục sản phẩm phân cấp

Bối Cảnh Kiến Trúc

graph LR
    POS["POS / Web"] --> CATALOG["📦 Catalog Service"]
    CATALOG --> MERCHANT["🏪 Merchant Service"]
    ORDER["📝 Order Service"] --> CATALOG
    
    style CATALOG fill:#4a90d9,stroke:#2d5986,color:#fff

Yêu Cầu

Yêu cầu Phiên bản
.NET SDK 10.0.101+
Docker 24.0+
PostgreSQL 15+

Bắt Đầu Nhanh

cd services/catalog-service-net
cp .env.example .env
dotnet restore
dotnet run --project src/CatalogService.API

Cấu Trúc Dự Án

catalog-service-net/
├── src/
│   ├── CatalogService.API/          # Controllers, CQRS
│   ├── CatalogService.Domain/       # Aggregates, Entities
│   └── CatalogService.Infrastructure/ # EF Core, Repositories
├── tests/
│   ├── CatalogService.UnitTests/
│   └── CatalogService.FunctionalTests/
└── docs/

API Endpoints

Method Endpoint Mô tả
GET /api/v1/products Danh sách sản phẩm theo shop
GET /api/v1/products/{id} Chi tiết sản phẩm
POST /api/v1/products Tạo sản phẩm
PUT /api/v1/products/{id} Cập nhật sản phẩm
DELETE /api/v1/products/{id} Xóa sản phẩm
GET /api/v1/categories Danh sách danh mục
POST /api/v1/categories Tạo danh mục

Domain Model

Loại Sản Phẩm

Loại Thuộc tính Ví dụ
Physical Cân nặng, Kích thước, SKU Áo, Điện thoại
Service Thời lượng, Cần nhân viên Cắt tóc, Massage
PreparedFood Công thức, Topping, Bếp Cà phê, Pizza

Product Entity (JSONB Attributes)

public class Product : Entity, IAggregateRoot
{
    public Guid ShopId { get; private set; }
    public string Name { get; private set; }
    public decimal Price { get; private set; }
    public ProductType Type { get; private set; }
    public JsonDocument? Attributes { get; private set; } // Theo loại
}

Services Liên Quan

Tài Nguyên

License

Proprietary - GoodGo Platform