7. Bố cục đề tài
1.3.7 Giới thiệu về Amazon API Gateway
Amazon API Gateway là dịch vụ được quản lý hoàn toàn giúp các nhà phát triển dễ dàng phát hành, duy trì, giám sát và bảo vệ API ở mọi quy mô. Chỉ với vài cú nhấp chuột trên Bảng điều khiển quản lý AWS, bạn có thể tạo một API hoạt động giống như “cửa trước” để các ứng dụng truy cập dữ liệu, logic nghiệp vụ hoặc chức
Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) hoặc AWS Elastic Beanstalk, mã đang chạy trên AWS Lambda hoặc một ứng dụng web bất kỳ. Amazon API Gateway xử lý tất cả các tác vụ liên quan đến tiếp nhận và xử lý lên đến hàng trăm nghìn lệnh gọi API đồng thời, bao gồm quản lý lưu lượng truy cập, cấp phép và kiểm soát truy cập, giám sát và quản lý phiên bản API. Amazon API Gateway không yêu cầu phí tối thiểu hoặc phí ban đầu. Đối với REST API, bạn chỉ phải trả phí cho những lệnh gọi API mà bạn nhận được và lượng dữ liệu truyền đi. Đối với WebSocket API, bạn chỉ thanh toán cho các tin nhắn đã gửi đi và nhận được và trong thời gian người dùng/thiết bị được kết nối với WebSocket API.
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 2.1 Yêu cầu chức năng
2.1.1 Chức năng public
• Trang chủ thông tin của website
• Xem các sản phẩm trong shop
• Có thể tìm kiếm các sản phẩm
• Có thể filter các sản phẩm theo: category, price,..
• Đặt hàng
• Bình luận sản phẩm
2.1.2 Chức năng trong admin
• Bao gồm những chức năng của public
• Có thể đăng nhập • Quản lý sản phẩm • Xem thống kê sản phẩm • Quản lý đơn hàng • Quản lý bình luận • Cài đặt
2.2 Yêu cầu phi chức năng
• Đơn giản, dễ dàng sử dụng.
• Đáp ứng nhanh.
2.3 Phân tích thiết kế hệ thống
2.3.1 Sơ đồ case sử dụng (Usecase diagram)
2.3.1.1 Case sử dụng user
2.3.1.2 Case sử dụng cho admin
Hình 3: Case sử dụng cho admin 2.3.2 Đặc tả Use-case
Bảng 1: Bảng mô tả sử dụng web của khách vãng lai
Mã Usecase UC1
Tên Sử dụng web của khách vãng lai
Mô tả Khách vãng lai xem các sản phẩm mới thi mới. Xem thông tin sản phẩm. Bình luận sản phẩm. Tìm kiếm sản phẩm. Đặt hàng
Điều kiện trước xử lý
Không
Sau xử lý Hiển thị danh sách tất cả sản phẩm Các bước thực
hiện
Hiển thị danh sách các sản phẩm khi vào hệ thống. Truy cập vô từng sản phẩm để xem chi tiết sản phẩm và bình luận của từng sản phẩm
Bảng 2 : Bảng mô tả sử dụng hệ thống của người dùng
Mã Usecase UC2
Tên Sử dụng hệ thống của người dùng
Mô tả Người dùng có thể đăng nhập vào hệ thống và thi Người thực hiện Khách hàng
Điều kiện trước xử lý
Có
Sau xử lý Hiển thị điểm số khi thi xong bài thi Các bước thực
hiện
Khi truy cập vào từng bài thi để xem thông tin, nhấn vào “vào thi” để thi
Ngoại lệ Không
Mã Usecase UC3
Tên Sử dụng hệ thống của admin
Mô tả Người admin có thể tạo ra nhiều sản phẩm Người thực hiện Người quản lý website
Điều kiện trước xử lý
Không
Sau xử lý Người quản lý có thể tạo sản phẩm, xem thống kê, xem tất cả bình luận của từng sản phẩm
Các bước thực hiện
Người quản lý có thể vào trang đăng nhập vào trang quản lý của trang web
Ngoại lệ Không
2.3.3 Thiết kế cơ sở dữ liệu
Hình 4: Sơ đồ cơ sở dữ liệu
2.3.4 Cấu trúc bảng và ràng buộc
Bảng 4: Bảng User
TÊN TRƯỜNG MÔ TẢ
id Mã User, khóa chính
email Email của người dùng
phoneNumber Số điện thoại của người dùng
address Địa chỉ của người dùng
Bảng 5: Bảng Product
TÊN TRƯỜNG MÔ TẢ
id Mã Product, khóa chính
name Tên của sản phẩm
description Mô tả sản phẩm
discount Sản phẩm được giảm giá theo phần trăm
image Hình ảnh của sản phẩm
categoryId ID danh mục sản phẩm
uid ID người dùng tạo sản phẩm
timestamp Thời gian tạo sản phẩm
Bảng 6: Bảng Images
TÊN TRƯỜNG MÔ TẢ
id Mã Image, khóa chính
image Hình ảnh sản phẩm
Bảng 7: Bảng Price
TÊN TRƯỜNG MÔ TẢ
id Mã price, khóa chính
price giá sản phẩm
size Kích cở của sản phẩm
productId Mã sản phẩm
Bảng 8: Bảng Comment
TÊN TRƯỜNG MÔ TẢ
id Mã comment , khóa chính
comment Nội dung bình luận
productId ID của sản phẩm
uid ID của người bình luận
Bảng 9: Bảng Categories
TÊN TRƯỜNG MÔ TẢ
id Mã Category, khóa chính
timestamp Thời gian tạo
uid Id người tạo
Bảng 101: Bảng Order detail
TÊN TRƯỜNG MÔ TẢ
id Mã chi tiết hóa đơn, khóa chính
productId ID của sản phẩm
orderID ID hóa đơn
Bảng 11: Bảng Order Item
TÊN TRƯỜNG MÔ TẢ
id Mã hóa đơn của người dùng, khóa chính
status trạng thái của đơn hàng
uid ID của người dùng đặt hàng
CHƯƠNG 3: TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƯỢC
3.1Môi trường triển khai
• Công cụ lập trình: Visual studio code
• Ngôn ngữ lập trình: Angular, nodejs
• Thiết bị sử dụng: Laptop
3.2Kết quả triển khai
3.2.1 Giao diện trang chủ
3.2.2 Giao diện trang danh sách sản phẩm
Hình 6: Giao diện trang danh sách sản phẩm
3.2.3 Giao diện trang chi tiết sản phẩm
3.2.4 Giao diện phần bình luận sản phẩm
Hình 9: Giao diện trang đặt sản phẩm.
3.2.6 Giao diện trang đăng nhập
Hình 10: Giao diện trang đăng nhập
3.2.7 Giao diện trang chính của dashboard
3.2.8 Giao diện trang quản lý sản phẩm
Hình 12: Giao diện trang quản lý sản phẩm
3.2.9 Giao diện trang setting dashboard
KẾT LUẬN VÀ KIẾN NGHỊ ƯU ĐIỂM
• Học hỏi được nhiều kinh nghiệm trong công việc.
• Học được quy trình xây dựng một hệ thống với những công nghệ như angular, aws, các thư viện mã nguồn mở và những cách thiết kế mới giúp sản phẩm trở nên đẹp hơn, hướng đến trải nghiệm người dùng.
• Áp dụng được các kiến thức đã học vào việc xây dựng sản phẩm.
• Nâng cao trách nhiệm công việc, tinh thần tự giác.
• Cải thiện tương đối kỹ năng đọc – hiểu tiếng Anh.
• Rút ra được nhiều kinh nghiệm quý báu, học được cách tự lập, tự nghiên cứu, các kỹ năng mềm cũng như phong cách làm việc trong môi trường chuyên nghiệp và có sự nhìn nhận mới về công việc trong tương lai.
HẠN CHẾ
• Thời gian hạn chế nên chưa phát triển được nhiều.
• Do kiến thức và kinh nghiệm cũng như kỹ năng lập trình còn hạn chế nên sản phẩm phần mềm còn đơn giản, chưa triển khai được hết các ý tưởng xây dựng hệ thống của đề tài.
HƯỚNG PHÁT TRIỂN
2 TÀI LIỆU THAM KHẢO [1] http://ictvietnam.vn/danh-gia-va-trao-doi/ly-luan/reactive-programming-la- [1] http://ictvietnam.vn/danh-gia-va-trao-doi/ly-luan/reactive-programming-la- gi.htm [2] https://viblo.asia/p/tai-sao-chung-ta-nen-su-dung-angular-eW65GEYPZDO [3] https://tech.vccloud.vn/amazon-web-services-aws-la-gi- 20181101093139012.htm [4] https://aws.amazon.com/vi/ [5] https://angular.io/ [6] https://w3layouts.com/