- Các yêu cầu đặc biệt: Không có - Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu - Trạng thái hệ thống sau khi sử dụng use case: Nếu đăng nhập thành công: Thông báo
Giới thiệu về ngôn ngữ lập trình Python
Lịch sử phát triển của ngôn ngữ lập trình Python
Python là ngôn ngữ lập trình cao cấp do Guido van Rossum phát triển và ra mắt lần đầu vào năm 1991 Mục tiêu của Guido là tạo ra một ngôn ngữ dễ đọc, dễ hiểu và dễ học, giúp tăng cường năng suất cho lập trình viên Tên gọi "Python" được lấy cảm hứng từ sở thích của ông đối với nhóm hài kịch "Monty Python's Flying Circus".
Python được phát triển như một dự án phần mềm mã nguồn mở và được cấp phép dưới bản quyền của Python Software Foundation (PSF) Sự quan tâm và đóng góp từ cộng đồng lập trình viên toàn cầu đã thúc đẩy sự phát triển nhanh chóng của Python, dẫn đến việc ra mắt nhiều phiên bản mới Phiên bản đầu tiên công khai của Python, Python 1.0, được phát hành vào tháng 1 năm 1994.
Python 2.0, ra mắt vào tháng 10 năm 2000, đã giới thiệu nhiều cải tiến quan trọng như hệ thống garbage collection tự động và hỗ trợ Unicode Đến tháng 12 năm 2008, Python 3.0 được phát hành với những thay đổi lớn, không tương thích ngược với Python 2.x, nhằm nâng cao hiệu suất, bảo mật và cung cấp cú pháp cùng tính năng mới.
Cộng đồng Python đang phát triển mạnh mẽ và năng động, khiến ngôn ngữ này trở thành một trong những ngôn ngữ lập trình phổ biến nhất toàn cầu Python được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm phát triển web, khoa học dữ liệu, trí tuệ nhân tạo và nhiều ứng dụng khác.
Đặc điểm và ưu nhược điểm của ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình nổi bật với những đặc điểm nổi trội như cú pháp đơn giản và dễ đọc, giúp lập trình viên dễ dàng hiểu và viết mã Ngôn ngữ này linh hoạt, hỗ trợ nhiều phong cách lập trình như lập trình hướng đối tượng, lập trình cấu trúc và lập trình hàm, cho phép lựa chọn phong cách phù hợp với nhu cầu dự án Python còn sở hữu một kho thư viện phong phú, bao gồm các thư viện như NumPy cho tính toán khoa học, pandas cho xử lý dữ liệu và Django cho phát triển ứng dụng web Đặc biệt, cộng đồng Python rất mạnh mẽ và năng động, cung cấp nhiều tài liệu, hỗ trợ và giải đáp thắc mắc, giúp nâng cao kỹ năng và hiệu suất cho lập trình viên.
Python là ngôn ngữ lập trình dễ học với cú pháp đơn giản và dễ hiểu, giúp người mới nhanh chóng nắm bắt và phát triển ứng dụng Hơn nữa, Python còn cung cấp nhiều tài liệu và nguồn học trực tuyến phong phú, hỗ trợ hiệu quả cho việc học tập và nâng cao kỹ năng lập trình.
Python cho phép tích hợp dễ dàng với các ngôn ngữ và công nghệ khác như C/C++, Java và NET, giúp lập trình viên kết hợp các thành phần sẵn có và tận dụng sức mạnh của Python trong phát triển phần mềm.
Python sở hữu một hệ sinh thái phong phú với hàng ngàn thư viện và framework do cộng đồng phát triển, giúp lập trình viên tiết kiệm thời gian và công sức trong quá trình phát triển ứng dụng Nhờ vào việc tận dụng các thành phần có sẵn, họ có thể tập trung vào việc xây dựng tính năng mới thay vì phải khởi tạo mọi thứ từ đầu.
Python có một số nhược điểm đáng lưu ý Đầu tiên, tốc độ thực thi của Python chậm hơn so với nhiều ngôn ngữ lập trình khác như C/C++ do nó là ngôn ngữ thông dịch, không phải ngôn ngữ biên dịch Mặc dù có thể cải thiện hiệu suất bằng cách sử dụng các thư viện như NumPy và Cython, nhưng Python không phải là lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu suất cao và thời gian thực Thứ hai, Python sử dụng quản lý bộ nhớ tự động thông qua thu gom rác, điều này có nghĩa là nó tự động quản lý phân phối và giải phóng bộ nhớ, nhưng điều này cũng có thể dẫn đến việc tiêu tốn tài nguyên không cần thiết.
Mặc dù Python có một số khung làm việc như Kivy hỗ trợ phát triển ứng dụng di động, nhưng nó không phải là ngôn ngữ phổ biến nhất trong lĩnh vực này Các ngôn ngữ như Swift cho iOS và Kotlin cho Android thường được ưa chuộng hơn Hơn nữa, 10 bộ nhớ tự động có thể gây ra độ trễ và tiêu tốn tài nguyên hệ thống.
Giới thiệu về framework FastAPI
FastAPI là một framework web nhanh chóng và dễ sử dụng, được phát triển bằng Python, cho phép xây dựng các ứng dụng web và API hiệu suất cao một cách nhanh chóng Nó kết hợp những lợi ích của Python với tốc độ xử lý gần như tương đương với các ngôn ngữ lập trình như Go và Node.js.
FastAPI sử dụng cú pháp chú thích của Python để định nghĩa các endpoint cùng với kiểu dữ liệu cho tham số và giá trị trả về, giúp mã nguồn trở nên rõ ràng và dễ bảo trì Bên cạnh đó, FastAPI còn tự động tạo tài liệu API thông qua tiêu chuẩn OpenAPI và Swagger UI.
FastAPI mang lại hiệu năng cao nhờ vào việc sử dụng ASGI (Asynchronous Server Gateway Interface) và hỗ trợ cú pháp async/await trong Python Điều này cho phép ứng dụng xử lý đồng thời nhiều yêu cầu từ các client khác nhau, tối ưu hóa tài nguyên và nâng cao khả năng mở rộng Bên cạnh đó, FastAPI cũng tích hợp các tính năng bảo mật như xác thực và phân quyền, giúp bảo vệ và kiểm soát quyền truy cập vào các endpoint một cách hiệu quả.
Mục tiêu nghiên cứu
Xác định yêu cầu cụ thể của trang web là bước đầu tiên quan trọng, bao gồm các chức năng cần thiết, giao diện người dùng mong muốn và dữ liệu cần hiển thị cũng như xử lý thông qua back-end API.
Building a back-end API using Python involves utilizing the FastAPI framework This allows for the definition of API endpoints that handle requests from the front-end and return the corresponding data effectively.
Thiết kế cơ sở dữ liệu là yếu tố quan trọng cho các trang web liên quan đến lưu trữ và truy xuất dữ liệu Để xây dựng một cơ sở dữ liệu hiệu quả, Python cung cấp nhiều thư viện hữu ích, trong đó có Mysql cho Fastapi, giúp tối ưu hóa quy trình làm việc với dữ liệu.
Xây dựng phần front-end sử dụng EJS: EJS là một template engine cho
JavaScript được sử dụng để phát triển các trang HTML động, cho phép tạo các template EJS nhằm hiển thị dữ liệu từ API back-end Điều này giúp tương tác với người dùng thông qua các sự kiện và hành động một cách hiệu quả.
Để thiết lập giao tiếp hiệu quả giữa back-end API và front-end EJS, bạn có thể sử dụng AJAX hoặc Axios để gửi yêu cầu từ front-end và nhận phản hồi từ back-end Việc sử dụng JavaScript để xử lý dữ liệu trả về sẽ giúp cập nhật giao diện người dùng một cách mượt mà và linh hoạt.
Triển khai trang web là bước cuối cùng trong quá trình phát triển Bạn có thể sử dụng các dịch vụ đám mây như Heroku, AWS, hoặc Azure để đưa ứng dụng web Python của mình vào môi trường sản phẩm.
PHÂN TÍCH THIẾT KẾ
Phân tích chức năng hệ thống
6 Xem chi tiết sản phẩm
Biểu đồ Use Case tổng quát của hệ thống
Hình 2 1 Biểu đồ use case tổng quát toàn hệ thống Đặc tả use case đăng nhập:
Quá trình đăng nhập cho khách hàng được mô tả trong use case này, trong đó người dùng cần cung cấp thông tin đăng nhập hợp lệ, bao gồm tên đăng nhập và mật khẩu, để xác minh danh tính và truy cập vào hệ thống.
Tác nhân yêu cầu giao diện đăng nhập
Hệ thống hiện thị giao diện đăng nhập
Tác nhân nhập tên đăng nhập và mật khẩu
Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệ thống.
Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thống.
Kết thúc use case đăng nhập.
Sự kiện 1: Nếu tác nhân đăng nhập đúng, nhưng lại muốn thoát khỏi hệ thống.
Hệ thống thông báo thoát bằng cách đăng xuất, kết thúc use case.
Sự kiện 2: Nếu tác nhân đăng nhập sai hệ thống thông báo đăng nhập lại hoặc thoát Sau khi tác nhân chọn thoát, kết thúc use case.
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu
- Trạng thái hệ thống sau khi sử dụng use case:
Nếu đăng nhập thành công: Thông báo “Bạn đã đăng nhập thành công” và hiện thị giao diện chính cho tác nhân thực hiện các chức năng khác.
Nếu đăng nhập không thành công, hệ thống sẽ thông báo "Bạn đã đăng nhập thất bại" và trở về giao diện đăng nhập để người dùng thử lại.
Quá trình đăng ký tài khoản cho khách hàng bắt đầu khi người dùng cung cấp thông tin đăng nhập hợp lệ Sau đó, người dùng tạo thông tin đăng nhập cần thiết để thực hiện các chức năng khác trên nền tảng.
Tác nhân yêu cầu giao diện đăng ký
Hệ thống hiện thị giao diện đăng ký
Tác nhân nhập các thông tin đăng ký
Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệ thống.
Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thống.
Kết thúc use case đăng ký
Sự kiện 1: Nếu tác nhân yêu cầu giao diện đăng ký, nhưng lại không muốn thực hiện đăng ký, kết thúc use case
Sự kiện 2: Nếu tác nhân nhập thông tin đăng ký không hợp lệ, và muốn thoát khỏi đăng ký kết thúc use case.
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu
- Trạng thái hệ thống sau khi sử dụng use case:
Nếu đăng ký thành công: Thông báo “Bạn đã đăng ký thành công”
Nếu đăng ký không thành công, hệ thống sẽ thông báo "Bạn đã đăng ký thất bại" và đưa người dùng trở lại chức năng đăng ký.
Trong trường hợp này, quá trình tìm kiếm sản phẩm cho khách hàng được mô tả rõ ràng Người dùng chỉ cần nhập tên sản phẩm mong muốn, và hệ thống sẽ hiển thị danh sách các sản phẩm phù hợp với yêu cầu tìm kiếm của họ.
Tác nhân nhập tên sản phẩm
Hệ thống tìm kiếm sản phẩm theo tên sản phẩm nhập vào
Sản phẩm nhập vào tồn tại trả về các sản phẩm cần tìm
Kết thúc use case tìm kiếm sản phẩm
- Dòng sự kiện phụ: Không có
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu
- Trạng thái hệ thống sau khi sử dụng use case:
Nếu tìm kiếm sản phẩm thành công: Hiện thị các sản phẩm cần tìm.
Nếu tìm kiếm sản phẩm thất bại: Hiện thị không tồn tại sản phẩm cần tìm. Đặc tả use case thao tác giỏ hàng:
Quá trình quản lý giỏ hàng trong hệ thống mua sắm trực tuyến cho phép người dùng thêm sản phẩm, chỉnh sửa số lượng, xóa sản phẩm và hoàn tất đặt hàng.
Người dùng xem sản phẩm trên trang web và quyết định thêm sản phẩm vào giỏ hàng
Người dùng nhấn vào nút "Thêm vào giỏ hàng" bên cạnh sản phẩm muốn mua
Hệ thống thêm sản phẩm vào giỏ hàng của người dùng
Hệ thống hiển thị thông tin giỏ hàng cho người dùng, bao gồm danh sách sản phẩm đã thêm, số lượng từng sản phẩm và tổng giá trị giỏ hàng.
Người dùng có thể tiếp tục mua sắm hoặc quay lại bước 1, đồng thời thực hiện các thao tác quản lý giỏ hàng như chỉnh sửa số lượng sản phẩm hoặc xóa sản phẩm không mong muốn.
Để thay đổi số lượng sản phẩm trong giỏ hàng, người dùng có thể điều chỉnh số lượng cho từng sản phẩm Hệ thống sẽ tự động cập nhật thông tin về số lượng và tổng giá trị của giỏ hàng.
Để xóa sản phẩm khỏi giỏ hàng, người dùng chỉ cần chọn sản phẩm cần loại bỏ Hệ thống sẽ tự động xóa sản phẩm đó và cập nhật lại tổng giá trị của giỏ hàng.
Khi người dùng hoàn tất việc mua sắm và muốn thanh toán, họ chỉ cần nhấn vào nút "Đặt hàng" Ngay lập tức, hệ thống sẽ chuyển hướng đến trang thanh toán để người dùng hoàn tất quá trình mua hàng một cách nhanh chóng và dễ dàng.
Kết thúc use case quản lý giỏ hàng
- Dòng sự kiện phụ: Không có
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu Đặc tả use case đặt hàng:
Trong quá trình đặt hàng trên hệ thống mua sắm trực tuyến, người dùng sẽ chọn sản phẩm mong muốn, cung cấp thông tin giao hàng cần thiết và cuối cùng xác nhận đơn hàng để hoàn tất quy trình đặt hàng.
Người dùng xem thông tin giỏ hàng và quyết định tiến hành đặt hàng
Người dùng nhấn vào nút "Đặt hàng" hoặc "Tiến hành đặt hàng"
Hệ thống yêu cầu người dùng cung cấp thông tin giao hàng như địa chỉ, số điện thoại, và phương thức thanh toán
Người dùng điền thông tin giao hàng vào các trường tương ứng
Hệ thống kiểm tra thông tin giao hàng và xác nhận đơn hàng
Hệ thống hiển thị thông báo xác nhận đơn hàng cho người dùng, bao gồm số đơn hàng và thông tin chi tiết về đơn hàng
Người dùng nhận được thông báo xác nhận đơn hàng và có thể tiếp tục mua sắm hoặc quay lại trang chủ.
- Trạng thái hệ thống trước khi sử dụng use case:
Người dùng đã đăng nhập vào hệ thống
Sản phẩm đã được chọn và có sẵn trong giỏ hàng
Thông tin giao hàng đã được người dùng cung cấp
- Trạng thái hệ thống sau khi sử dụng use case:
+ Người dùng chưa đăng nhập:
Hệ thống yêu cầu người dùng đăng nhập hoặc tạo tài khoản trước khi tiến hành đặt hàng
Người dùng đăng nhập hoặc tạo tài khoản để tiếp tục quá trình đặt hàng
+ Thông tin giao hàng không hợp lệ:
Hệ thống kiểm tra thông tin giao hàng và phát hiện thông tin không hợp lệ hoặc thiếu trường bắt buộc
Hệ thống hiển thị thông báo lỗi và yêu cầu người dùng điền lại thông tin giao hàng
Quá trình tiếp tục từ bước 4
+ Người dùng muốn tiếp tục mua sắm:
Người dùng nhấn vào nút "Tiếp tục mua sắm" hoặc quay lại trang sản phẩm để tiếp tục chọn sản phẩm
Quá trình mua sắm tiếp tục từ bước 1. Đặc tả use case đánh giá sản phẩm:
Trong hệ thống mua sắm trực tuyến, người dùng có khả năng đánh giá và viết nhận xét về sản phẩm mà họ đã mua Quá trình này không chỉ giúp cải thiện chất lượng sản phẩm mà còn cung cấp thông tin hữu ích cho những khách hàng khác Việc đánh giá sản phẩm đóng vai trò quan trọng trong việc xây dựng lòng tin và tăng cường trải nghiệm mua sắm của người tiêu dùng.
Người dùng tìm kiếm sản phẩm mà họ muốn đánh giá
Người dùng truy cập vào trang chi tiết sản phẩm
Người dùng nhấp vào liên kết hoặc nút "Đánh giá" hoặc "Viết nhận xét"
Hệ thống hiển thị một biểu mẫu đánh giá cho người dùng
Người dùng điền thông tin vào biểu mẫu đánh giá, bao gồm đánh giá chung về sản phẩm và bình luận chi tiết (tuỳ chọn)
Người dùng nhấp vào nút "Gửi" hoặc "Đăng" để gửi đánh giá
Hệ thống lưu trữ đánh giá và nhận xét của người dùng vào cơ sở dữ liệu
Hệ thống hiển thị đánh giá và nhận xét mới nhất của người dùng trên trang chi tiết sản phẩm và/hoặc trang danh sách sản phẩm
Các người dùng khác có thể xem và đọc đánh giá và nhận xét của người dùng
- Trạng thái hệ thống trước khi sử dụng use case:
Người dùng đã đăng nhập vào hệ thống
Người dùng đã mua sản phẩm và có thông tin về sản phẩm đó.
- Trạng thái hệ thống sau khi sử dụng use case:
+ Người dùng chưa đăng nhập:
Hệ thống yêu cầu người dùng đăng nhập hoặc tạo tài khoản trước khi viết đánh giá
Người dùng đăng nhập hoặc tạo tài khoản để tiếp tục quá trình đánh giá + Người dùng không muốn viết bình luận chi tiết:
Người dùng không bắt buộc phải điền bình luận chi tiết và có thể bỏ qua trường này
Quá trình tiếp tục từ bước 6
+ Lỗi khi lưu trữ đánh giá:
Hệ thống gặp sự cố khi lưu trữ đánh giá và không thể hoàn thành quá trình
Hệ thống hiển thị thông báo lỗi và yêu cầu người dùng thử lại sau Quá trình kết thúc. Đặc tả use case đăng nhập admin:
- Tác nhân: Người quản lý
Trong bài viết này, chúng tôi mô tả quy trình đăng nhập vào hệ thống với vai trò quản trị viên (Admin) Quản trị viên có khả năng truy cập vào các chức năng quan trọng và thực hiện quản lý toàn diện hệ thống.
Quản trị viên truy cập vào trang đăng nhập của hệ thống
Quản trị viên nhập tên người dùng (username) và mật khẩu (password) của tài khoản quản trị viên
Quản trị viên nhấn nút "Đăng nhập" để tiến hành đăng nhập
Hệ thống kiểm tra thông tin đăng nhập của quản trị viên
Nếu thông tin đăng nhập chính xác, hệ thống đăng nhập quản trị viên và chuyển hướng đến trang quản lý
Quản trị viên có quyền truy cập vào các chức năng quản lý, ví dụ: quản lý người dùng, quản lý sản phẩm, thống kê, v.v
Quản trị viên thực hiện các tác vụ và chức năng quản lý theo nhu cầu
Khi hoàn thành, quản trị viên có thể chọn đăng xuất hoặc tiếp tục sử dụng các chức năng quản lý khác.
- Trạng thái hệ thống trước khi sử dụng use case: Không có
- Trạng thái hệ thống sau khi sử dụng use case:
+ Thông tin đăng nhập không chính xác:
Hệ thống kiểm tra thông tin đăng nhập và phát hiện thông tin không chính xác
Hệ thống hiển thị thông báo lỗi và yêu cầu quản trị viên nhập lại thông tin đăng nhập
Quá trình tiếp tục từ bước 2
+ Quản trị viên quên mật khẩu:
Hệ thống cung cấp chức năng khôi phục mật khẩu
Quản trị viên nhấp vào liên kết hoặc nút "Quên mật khẩu" và làm theo hướng dẫn để khôi phục mật khẩu
Quá trình tiếp tục từ bước 2 sau khi mật khẩu đã được khôi phục + Quản trị viên muốn thực hiện tác vụ đăng xuất:
Quản trị viên chọn tùy chọn đăng xuất hoặc thoát khỏi trang quản lý
Hệ thống đăng xuất quản trị viên và chuyển hướng đến trang đăng nhập. Đặc tả use case quản lý đơn hàng:
- Tác nhân: Người quản lý
Chức năng quản lý đơn hàng trong hệ thống mua sắm trực tuyến cho phép quản trị viên (Admin) theo dõi, xử lý và quản lý các đơn hàng của khách hàng một cách hiệu quả.
Quản trị viên truy cập vào chức năng quản lý đơn hàng trong hệ thống Hệ thống hiển thị danh sách các đơn hàng chưa được xử lý
Biểu đồ lớp của hệ thống
Hình 2 2 Biểu đồ lớp của hệ thống
Thiết kế giao diện
Thiết kế Layout trang chủ:
Thiết kế Layout đăng nhập:
Hình 2 4 Layout trang đăng nhập
Thiết kế Layout đăng ký:
Hình 2 5 Layout trang đăng ký
Thiết kế Layout chi tiết sản phẩm:
Hình 2 6 Layout trang chi tiết sản phẩm
Thiết kế Layout giỏ hàng:
Hình 2 7 Layout trang giỏ hàng
Thiết kế Layout đăng nhập Admin:
Hình 2 8 Layout trang đăng nhập Admin
Hình 2 9 Layout trang chủ DashBoard
C I ĐẶT V TRIỂN KHAI
Xây dựng API cho website
3.1.2 Cài đặt môi trường phát triển
Để sử dụng FastAPI, bạn cần cài đặt Python và pip, cùng với các gói cần thiết cho dự án như sqlalchemy, pyjwt, pymysql, và nhiều gói khác Để quản lý môi trường phát triển, hãy tạo một môi trường ảo riêng bằng công cụ venv, được tích hợp sẵn trong Python.
Hình 3 1 Cài đặt thư viện
Xây dựng cây thư mục theo mô hình MVC giúp tổ chức mã nguồn một cách khoa học Sử dụng Git để quản lý phiên bản cho phép theo dõi lịch sử thay đổi của mã nguồn trong dự án Điều này giúp lưu trữ và giám sát tất cả các phiên bản của mã nguồn từ khi bắt đầu dự án cho đến nay.
Hình 3 2 Xây dựng thư mục
3.1.2 Xây dựng API cho các chức năng bên phía khách hàng
Code xử lý API đăng nhập, đăng ký
Hình 3 3 Code xử lý API cho chức năng đăng nhập, đăng ký
Kết quả chạy trên PostMan:
Hình 3 4 Kết quả chạy API cho chức năng đăng nhập
Hình 3 5 Kết quả chạy API cho chức năng đăng ký
Code xử lý API lấy sản phẩm, danh mục, chi tiết sản phẩm, tìm kiếm sản phẩm:
Hình 3 6 Code xử lý API chức năng lấy sản phẩm, danh mục, chi tiết sản phẩm, tìm kiếm sản phẩm
Kết quả chạy trên PostMan:
Hình 3 7 Kết quả chạy API lấy các sản phẩm
Hình 3 8 Kết quả chạy API lấy chi tiết sản phẩm
Hình 3 9 Kết quả chạy API cho chức năng tìm kiếm sản phẩm
Code xử lý API cho chức năng đặt hàng, quản lý đơn hàng:
Hình 3 10 Code xử lý API cho chức năng đặt hàng, quản lý đơn hàng
Kết quả chạy trên PostMan:
Hình 3 11 Kết quả chạy API cho chức năng đặt hàng
Hình 3 12 Kết quả chạy API lấy đơn hàng chờ xử lý
Hình 3 13 Kết quả chạy API cho đơn hàng đang vận chuyển
Hình 3 14 Kết quả chạy API cho đơn hàng đã giao
Code xử lý đánh giá sản phẩm:
Hình 3 15 Code xử lý API cho chức năng đánh giá
Kết quả chạy trên PostMan:
Hình 3 16 Kết quả chạy API cho chức năng đánh giá
3.1.3 Xây dựng API cho các chức năng bên phía quản lý
Code xử lý API cho chức năng đăng nhập admin:
Hình 3 17 Code xử lý API đăng nhập admin
Code xử lý API cho chức quản lý sản phẩm, đơn hàng, đánh giá, thống kê:
Hình 3 18 Code xử lý API cho các chức năng quản lý của admin
Xây dựng giao diện kết hợp với API
Xậy dựng thư mục sử Nodejs – Express và template engine EJS:
Hình 3 19 Xây dựng thư mục cho Front-end
Giao diện với các chức năng bên phia khách hàng:
Hình 3 20 Giao diện đăng nhập
Hình 3 21 Giao diện đăng ký
Hình 3 22 Giao diện trang chủ
Hình 3 23 Giao diện danh mục sản phẩm
Hình 3 24 Giao diện giỏ hàng
Hình 3 25 Giao diện thông tin đơn hàng
Giao diện với các chức năng bên phía quản lý:
Hình 3 26 Giao diện đăng nhập admin
Hình 3 27 Giao diện trang chủ admin
Hình 3 28 Giao diện quản lý sản phẩm
Hình 3 29 Giao diện quản lý người dùng
Hình 3 30 Giao diện quản lý đơn hàng