eShop là một ứng dụng tham chiếu .NET mã nguồn mở được phát triển bởi team .NET của Microsoft, minh họa cách xây dựng một trang web thương mại điện tử hoàn chỉnh với kiến trúc dựa trên dịch vụ (services-based architecture) sử dụng .NET Aspire.
Mục lục
Tổng Quan Ứng Dụng
Với 9.1k sao và 3.1k fork trên GitHub, eShop đã trở thành một trong những dự án tham khảo phổ biến nhất cho các nhà phát triển .NET muốn xây dựng ứng dụng thương mại điện tử hiện đại.
Các tính năng nổi bật:
- Kiến trúc microservices sử dụng .NET Aspire
- Hỗ trợ .NET 9 mới nhất
- Tích hợp Azure OpenAI cho các tính năng AI
- E2E testing với Playwright
- Deployment tự động với Azure Developer CLI
- Hỗ trợ Docker container
Kiến Trúc Hệ Thống
Ứng dụng eShop sử dụng kiến trúc dựa trên dịch vụ với các thành phần chính:
- Catalog.API: Quản lý danh mục sản phẩm
- Identity.API: Quản lý xác thực người dùng
- Ordering.API: Xử lý đơn hàng
- Payment.API: Xử lý thanh toán
- Basket.API: Quản lý giỏ hàng
- WebApp: Giao diện người dùng chính
Cách Bắt Đầu
Yêu Cầu Hệ Thống
Prerequisites:
- Clone repository:
git clone https://github.com/dotnet/eShop - Cài đặt và khởi động Docker Desktop
- .NET 9 SDK mới nhất
Chạy Ứng Dụng
Với Visual Studio (Windows):
- Mở file
eShop.Web.slnftrong Visual Studio - Đảm bảo
eShop.AppHost.csprojlà startup project - Nhấn Ctrl+F5 để khởi chạy Aspire
Với Terminal:
dotnet run --project src/eShop.AppHost/eShop.AppHost.csproj
Sau khi chạy, tìm URL của Aspire dashboard trong console output:
Login to the dashboard at: http://localhost:19888/login?t=uniquelogincodeforyou
Tích Hợp Azure OpenAI
eShop hỗ trợ tích hợp Azure OpenAI để cung cấp các tính năng AI nâng cao. Để cấu hình:
- Thêm connection string trong
eShop.AppHost/appsettings.json - Đặt giá trị
useOpenAI = truetrongProgram.cs
Deployment Với Azure Developer CLI
eShop hỗ trợ deployment tự động lên Azure sử dụng Azure Developer CLI (azd):
azd auth login<br>
azd init<br>
azd up
Dữ Liệu Mẫu
Dữ liệu catalog mẫu được định nghĩa trong file catalog.json. Tên sản phẩm, mô tả và thương hiệu được tạo bằng GPT-35-Turbo, trong khi hình ảnh sản phẩm được tạo bằng DALL·E 3.
Giấy Phép Và Đóng Góp
Dự án được phát hành dưới giấy phép MIT và chào đón sự đóng góp từ cộng đồng. Để biết thêm thông tin về cách đóng góp, xem CONTRIBUTING.md và CODE-OF-CONDUCT.md trong repository.
Phiên Bản Trước
Phiên bản .NET 8 của eShop vẫn có sẵn tại branch release/8.0 cho các nhà phát triển vẫn đang sử dụng .NET 8.
Kết Luận
eShop là một tài nguyên học tập tuyệt vời cho các nhà phát triển .NET muốn hiểu rõ về:
- Kiến trúc microservices với .NET Aspire
- Phát triển ứng dụng thương mại điện tử hiện đại
- Tích hợp AI vào ứng dụng doanh nghiệp
- Best practices cho testing và deployment
Với cộng đồng hỗ trợ mạnh mẽ và tài liệu đầy đủ, eShop là điểm khởi đầu lý tưởng cho bất kỳ dự án thương mại điện tử nào trên nền tảng .NET.



