MỤC LỤC
Đề tài này có mục tiêu chính đó là nghiên cứu về kiến thức quản lý thực tiễn và vận hành hệ thống kinh doanh các sản phẩm balo và các công nghệ được áp dụng để thực hiện sản phẩm đó. Trong đó với đối tượng nghiên cứu công nghệ ứng dụng nhóm sẽ nghiên cứ về RESTful API, Spring Boot, MySQL và JWT để xây dựng hệ thống các API để thực hiện thao tác truy xuất dữ liệu một cách an toàn, chính xác, bảo mật cũng như nhánh chóng nhất. Cũng như nghiên cứu về ReacJS và các thư viện hỗ trợ thiết kế giao diện để thiết kế một giao diện đẹp mắt và thân thiện với người dùng.
Đối với phạm vi nghiên cứu, nhóm quyết định nghiên cứu đề tài để phát triển trang web với một số tác vụ cơ bản của website bán hàng như là: xem danh sách và chi tiết các sản phẩm, tìm kiếm và lọc sản phẩm, thêm sản phẩm vào giỏ hàng, quản lý giỏ hàng, đặt hàng và thanh toán, ….
Được phát triển từ năm 1986, PostgreSQL đã trở thành một trong những hệ quản trị cơ sở dữ liệu phổ biến và được sử dụng rộng rãi trên toàn thế giới. PostgreSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, điều này cho phép mọi người xem, sửa đổi và phát triển mã nguồn theo nhu cầu của họ. Nó hỗ trợ các cơ chế như phân vùng, replica (đa bản sao) và cluster (nhóm), cho phép bạn tăng cường hiệu suất và mở rộng hệ thống cơ sở dữ liệu của mình khi cần thiết.
PostgreSQL cung cấp một loạt các tính năng phong phú, bao gồm truy vấn phức tạp, khóa ngoại (foreign key), truy vấn địa lý (spatial query), truy vấn văn bản đầy đủ (full-text search) và nhiều hơn nữa. JSON Web Token (JWT) là một tiêu chuẩn mở ( RFC 7519) định nghĩa cách thức truyền tin an toàn giữa các thành viên bằng 1 đối tượng JSON. Trong việc Authentication, sau khi người dùng đăng nhập thành công thì mã thông báo web JSON sẽ được gửi lại về phía người dùng và mã truy cập này là bảo mật.
Trong JWT thường chứa các dữ liệu cần thiết cho việc Authorization và vì thông tin JWT khá nhỏ (khoảng 8KB) nên khi cấu hình JWT chúng ta nên ngăn chặn không để chúng quá lớn giúp cho việc xử lý trở nên nhanh chóng. Vì JSON it dài dòng hơn XML và kích thước sau khi mã hóa cũng vậy cho nên việc sử dụng JWT trở thành một lựa chọn tốt trong thời điểm hiện nay.
- Website phải tập trung vào các chức năng chính như các thông tin chi tiết về sản phẩm, lọc sản phẩm, tìm kiếm sản phẩm, quy trình đặt hàng, thanh toán. - Khách vãng lai (Guest): là những người dùng truy cập sử dụng website nhưng chưa thực hiện đăng nhập vào hệ thống hoặc chưa có tài khoản trong hệ thống - Người dùng (User): là những người dùng đã có tài khoản và đã đăng nhập vào. - Nhân viên (Staff): là những người có trách nhiệm trong việc quản lý các sản phẩm của hệ thống, các đơn đặt hàng, tương tác với khách hàng theo yêu cầu của người quản trị viên.
Usecase được thực hiện khi người dùng truy cập vào trang đăng nhập Hệ thống yêu cầu điền số điện thoại, mật khẩu, họ và tên, email, xác Luồng cơ bản nhận lại mật khẩu. Luồng cơ bản Usecase được thực hiện khi người dùng chọn vào một sản phẩm bất (Thành công) kỳ, hệ thống hiển thị toàn bộ thông tin của sản phẩm đó. Luồng cơ bản Usecase được thực hiện khi người dùng bấm nút thêm sản phẩm vào giỏ, hệ thống sẽ cập nhật lại số lượng và tên sản phẩm vào giỏ (Thành công) hàng.
(Thành công) Sau đó tiến hành qua các bước điền thông tin địa chỉ, chọn phương thức vận chuyển, phương thức thanh toán và yêu cầu người dùng xác nhận lại thông tin đơn hàng đó. Luồng cơ bản Usecase được thực hiện khi quản trị viên chọn mục Bảng điều khiển trên thanh sidebar, hệ thống hiển thị toàn bộ thông tin như số lượng (Thành công) khách hàng, đơn hàng, sản phẩm, doanh thu lên cho quản trị viên.
Lược đồ tuần tự. a) Lược đồ tuẩn tự Đăng nhập. Sơ đồ tuần tự Đăng nhập. b) Lược đồ tuần tự đăng ký. Sơ đồ tuần tự Đăng ký. c) Lược đồ tuần tự Cập nhật thông tin cá nhân. Sơ đồ tuần tự Cập nhật thông tin cá nhân. d) Lược đồ tuần tự Xem thông tin sản phẩm. Sơ đồ tuần tự Xem thông tin chi tiết sản phẩm. e) Lược đồ tuần tự Tìm kiếm sản phẩm. Sơ đồ tuần tự tìm kiếm sản phẩm. f) Lược đồ tuần tự Lọc sản phẩm. Sơ đồ tuần tự Lọc sản phẩm. g) Lược đồ tuần tự Thêm sản phẩm vào giỏ hàng. Sơ đồ tuần tự Thêm sản phẩm vào giỏ hàng h) Lược đồ tuần tự Xóa sản phẩm khỏi giỏ hàng. Sơ đồ tuần tự Xóa sản phẩm khỏi giỏ hàng. i) Lược đồ tuần tự Đặt hàng. Sơ đồ tuần tự Đặt hàng. j) Lược đồ tuần tự Thống kê doanh thu. Sơ đồ tuần tự Thống kê doanh thu. k) Lược đồ tuần tự Thêm sản phẩm vào hệ thống. Sơ đồ tuần tự Thêm sản phẩm. l) Lược đồ tuần tự Cập nhật sản phẩm. Sơ đồ tuần tự Cập nhật sản phẩm. m) Lược đồ tuần tự Xóa sản phẩm. Sơ đồ tuẩn tự Xóa sản phẩm. n) Lược đồ tuần tự Thêm phân loại. Sơ đồ tuần tự Thêm phân loại. o) Lược đồ tuần tự Cập nhật phân loại. Sơ đồ tuần tự Cập nhật phân loại. p) Lược đồ tuần tự Xóa phân loại. Sơ đồ tuần tự Xóa phân loại. q) Lược đồ tuần tự Thêm thương hiệu. Sơ đồ tuần tự Thêm thương hiệu. r) Lược đồ tuần tự Cập nhật thương hiệu. Sơ đồ tuần tự Cập nhật thương hiệu. s) Lược đồ tuần tự Xóa thương hiệu. Sơ đồ tuần tự Xóa thương hiệu. t) Lược đồ tuần tự Thêm nhân viên. Sơ đồ tuần tự Thêm nhân viên. u) Lược đồ tuần tự Cập nhật trạng thái hoạt động cho nhân viên. Sơ đồ tuần tự Cập nhật trang thái hoạt động cho nhân viên. v) Lược đồ tuần tự Cập nhật trạng thái hoạt động cho khách hàng. Sơ đồ tuần tự Cập nhật trạng thái hoạt động cho khách hàng. w) Lược đồ tuần tự Thêm tin tức. Sơ đồ tuần tự Thêm tin tức mới. x) Lược đồ tuần tự cập nhật tin tức. Sơ đồ tuần tự cập nhật tin tức. y) Lược đồ tuần tự xóa tin tức. 6 Điều khoản Checkbox Cho phép người dùng click vào đây để đồng ý 7 Đăng nhập Button Khi nhấp vào, chuyển sang trang đăng nhập. 3 Thêm vào giỏ hàng Button Khi nhấp vào, sản phẩm sẽ được thêm vào giỏ.
Khi nhấp vào, thông tin sẽ được lưu và 2 Giao đến địa chỉ đã chọn Button chuyển đến trang chọn phương thức. 2 Xóa sản phẩm Button Khi nhấp vào, sản phẩm đó sẽ bị xóa khỏi giỏ hảng. 3 Tiếp tục mua hàng Button Khi nhấp vào, sẽ được chuyển đến trang sản phẩm.
1 Xem chi tiết đơn hàng Button Khi nhấp vào, hiển thị chi tiết của đơn hàng đó. 1 Xem chi tiết sản phẩm Button Khi nhấp vào, hiển thị chi tiết của sản phẩm đó. 3 Hình ảnh sản phẩm File Cho phép người dùng chọn hình ảnh liên quan đến sản phẩm.
Tiếp tục chạy lệnh “npm start” trên Windows Terminal để bắt đầu chạy Front- End.
Các thành viên trong nhóm thường xuyên trao đổi, giải quyết vấn đề mỗi khi gặp khó khăn. Các chức năng được tách theo từng Module và Component dễ dàng sửa đổi, cập nhật và mở rộng. Hệ thống có sử dụng JSON Web Token để bảo mật dữ liệu bằng cách ẩn đi dữ liệu gửi đi và nhận về phòng tránh các cuộc tấn công cùng như tránh bị mất cắp dữ liệu.
Hệ thống đáp ứng được các chức năng cơ bản của một trang thương mại điện tử như xem thông tin chi tiết sản phẩm, tìm kiếm sản phẩm, bộ lọc sản phẩm, giỏ hàng, thanh toán online, chỉnh sửa thông tin người dùng, quản lý người dùng, quản lý sản phẩm, thống kê doanh thu, nhắn tin giữa khách hàng và nhân viên, đánh giá sản phẩm,…. Phát triển trên thêm nền tảng mobile, đảm bảo đồng bộ giữ các nền tảng.