Yêu cầu | Giải pháp |
---|---|
Thời gian triển khai | 4 tuần (từ tuần 13 - 16) |
Số lượng service | 4 |
Ngôn ngữ LT backend | ASP.NET Core, Python |
Cơ sở dữ liệu | SQL Server |
Nền tảng mở | Docker |
Tạo 1 website bán sách. Cho phép đăng nhập đăng ký tài khoản khách hàng để mua sản phẩm. Mỗi sản phẩm được phân loại theo thể loại để người mua dễ dàng tìm kiếm. Một sản phẩm cho phép có nhiều thể loại. Hỗ trợ chức năng giảm giá. Có chức năng quản lý số lượng sản phẩm, thông báo nhắc nhở khi số lượng gần hết hoặc đã hết. Hỗ trợ giỏ hàng và thanh toán. Cho phép khách hàng đánh giá sản phẩm. Hỗ trợ các chức năng tìm kiếm, lọc giá sản phẩm.
- Cửa hàng theo mô hình B2C: Website cần có 2 phần giao diện người dùng gồm: Admin và Khách hàng. 2 Giao diện tách bạch nhau nhưng có đường dẫn liên kết với nhau.
- Tài khoản: Yêu cầu bảo mật về thông tin tài khoản, mật khẩu, token, ... Cho phép được khóa tài khoản khách hàng. Có khu vực đăng nhập, đăng ký tài khoản khách hàng
- Sản phẩm: Mỗi sản phẩm có thể chọn nhiều thể loại. Hỗ trợ chức năng giảm giá.
- Đơn đặt hàng: Yêu cầu tích hợp giỏ hàng. Yêu cầu đăng nhập trước khi thanh toán. Cho phép 2 hình thức thanh toán COD hoặc paypal. Khách hàng được phép hủy khi đơn hàng chưa được giao và hoàn tồn sản phẩm. Cho phép khách hàng xem lịch sử mua hàng trên hệ thống.
- Giao hàng: Chỉ giao hàng trong khu vực nội thành HCM => Miễn phí vận chuyển
- Tồn kho, Nhập kho, xuất kho: Mỗi khi sản phẩm hết hàng trong kho, thì phải nhập thêm số sản phẩm qua phiếu nhập.Hoàn tồn sau mỗi giao dịch nhập hàng bị hủy. Thông báo mỗi khi số lượng sản phẩm gần hết hoặc đã hết
- Hỗ trợ tìm kiếm sản phẩm, tìm kiếm năng cao: giá, bán chạy,..
- Có khu vực đánh giá sản phẩm
- Thống kê báo cáo doanh số bán hàng, số lượng sản phẩm bán, tồn kho, ...
Gồm 2 đối tượng: Admin và Khách hàng
- Phân chia theo chức năng, hệ thống gồm có 3 Service: Product Service, Order Service, Stock Service. Mỗi service hoạt động độc lập, không phụ thuộc với nhau
- Ngoài ra còn 1 Service dùng để render dữ liệu cho giao diện; cập nhật hoặc khôi phục dữ liệu. nhằm đảm bảo tính đúng đắn của dữ liệu: BookStore Service.
Giao diện người dùng gồm: giao diện bán hàng (Website) và giao diện quản lý (Admin)
- Trang chủ: Hiển thị các sản phẩm nổi bật, bán chạy trong hệ thống
- Trang thể loại: Hiển thị danh sách sản phẩm thuộc cùng 1 thể loại. Sử dụng phân trang.
- Trang chi tiết sản phẩm: Hiển thị thông tin sản phẩm, xuất ra danh sách sản phẩm liên quan. Có khu vực đánh giá sản phẩm
- Trang tìm kiếm: Hiển thị danh sách sản phẩm phù hợp với từ khóa hoặc mức giá. sử dụng phân trang
- Trang giỏ hàng: Hiển thị danh sách sản phẩm đã chọn mua.
- Trang thanh toán: Hiện thị form thông tin khách hàng cùng số tiền cần phải trả cho giỏ hàng.
- Trang thông tin cá nhân: Hiện thị thông tin cá nhân của khách hàng. Hiển thị form đổi mật khẩu tài khoản
- Trang Lịch sử mua hàng: Hiển thị các đơn hàng đã mua của khách hàng
- Trang chủ: Hiển thị số liệu bán hàng, doanh số bán hàng theo thời gian.
- Các trang thêm sửa khóa tài khoản
- Các trang thêm sửa ngừng bán sản phẩm
- Các trang thêm sửa khóa thể loại
- Các trang thêm sửa đơn hàng
- Trang xem thông tin Đánh giá
- Trang xem thông tin kho hàng
- Các trang thêm sửa xóa phiếu nhập
"Ba Service (Product, Order, Stock) đều được cài đặt chung 1 thư viện tạo Token. với thời hạn sử dụng 1 ngày. Ba thư viện này đều dùng chung 1 mã bí mật để giả mã. Mỗi khi tài khoản đăng nhập vào hệ thống. với email và password đã tạo. Hệ thống sẽ tạo chuỗi token cho user đăng nhập. và được lưu trữ trong session hoặc localStorage (browser)"
- Quản lý sản phẩm
- Quản lý thể loại
- Quản lý đánh giá
- Xác thực, phân quyền
- Thống kê số lượng sản phẩm, trạng thái sản phẩm,...
- Quản lý đơn hàng
- Cập nhập tình trạng đơn hàng
- Xác thực, phân quyền
- Thống kê báo cáo doanh số, số lượng đơn hàng thành công, thất bại,...
- Kiểm tra số lượng tồn kho của từng sản phẩm
- Nhập thêm số lượng sản phẩm.
- Xác thực, phân quyền
- Thống kê số lượng tồn theo thời gian
- Render dữ liệu cho giao diện người dùng cuối.
- Thực hiện các cập nhật (update / rollback) khi thực hiện các hành động liên quan tới 2 service trở lên. Nhằm đảm bảo tính đúng đắn của dữ liệu
- Xác thực phân quyền
- Container chạy Product Service
- Container chạy Order Service
- Container chạy Stock Service
- Container chạy BookStore
- Container SQL Server
Mận: Thiết kế giao diện website và admin. Hằng: Xây dựng Service Product Hậu : Xây dựng Service Order Hiển : Xây dựng Service Stock Trưởng : Xây dựng Service BookStore Testing & Deploy Docker: Cả nhóm