Hồ sơ cá nhân

Golang · Layered MVC Monolith

Go Commerce

Ứng dụng thương mại điện tử kết xuất phía máy chủ bằng Go, bao phủ danh mục hàng hóa, danh sách yêu thích, giỏ hàng, thanh toán, vận chuyển và lịch sử đơn hàng. Gin xử lý tuyến web và API, GORM ánh xạ dữ liệu PostgreSQL, còn Gorilla Sessions quản lý đăng nhập. Khu vực quản trị có chức năng quản lý đơn, tồn kho, vận chuyển và thông báo; dịch vụ hóa đơn tạo tài liệu PDF. Thiết kế ưu tiên một tệp thực thi dễ triển khai nhưng vẫn tách rõ bộ điều khiển, mô hình, dịch vụ và phần mềm trung gian.

Ảnh giao diện của Go Commerce

Tech stack

GoGinGORMPostgreSQLGorilla SessionsViperbcryptGoFPDFDocker ComposeHTML Templates

Kiến trúc

Layered MVC Monolith

Browser/API Client → Route Group → Controller → Service/Model → GORM/PostgreSQL. Middleware xử lý authentication, session và method override; config đóng gói environment cùng database setup. Admin route và customer route được tách riêng nhưng dùng chung domain model cho Product, Cart, Order, Address và Wishlist.

Core features

  • Danh mục sản phẩm và nhóm hàng
  • Danh sách yêu thích và giỏ hàng
  • Thanh toán và vận chuyển
  • Địa chỉ giao hàng và lịch sử đơn
  • Phiếu ưu đãi và thông báo
  • Quản trị tồn kho và đơn hàng
  • Xác thực bằng phiên
  • Sinh hóa đơn PDF