PHẦN MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong bối cảnh hiện nay, với sự phát triển của công nghệ và thông tin nhanh chóng và luôn đổi mới hằng ngày. Và sự ảnh hưởng của dịch Covid trong những năm vừa qua. Thì internet đang trở thành xu hướng mới trong việc mua bán hàng hóa và trao đổi thông tin.
Và trong bối cảnh đó, nhu cầu mua sắm của khách hàng trở nên cao hơn và tiêu chuẩn mua sắm cũng phải phù hợp với yêu cầu của người dùng. Đó là những vấn đề nan giải của các doanh nghiệp kinh doanh. Với ý tưởng của nhóm, thì việc xây dụng một trang web cung cấp thông tin và mua bán sản phẩm và ở đây là cung cấp và bán balo là cần thiết đối với một doanh nghiệp hay một cửa hàng buôn bán balo. Với việc khách hàng có thể nhanh chóng lựa chọn sản phẩm phù hợp với nhu cầu, với giá tiền thì một trang web bán balo có thể nhanh chóng giải quyết điều đó.
Người dùng có thể thoải mái lựa chọn, mua sắm của mình mọi lúc và mọi nơi. Cũng như về phía cung cấp có thể lựa chọn trang web là nơi quảng bá các sản phẩm. Và hơn thế nữa việc quản lý các đơn hàng và chi phí doanh thu cũng trở nên dễ dàng hơn. Việc có một ứng dụng web bán hàng sẽ tiết kiệm thời gian và nguồn lực rất nhiều đối với cả khách hàng và doanh nghiệp.
Mục tiêu của đề tài Đề tài “Xây dụng website bán balo” sẽ bao gồm các mục tiêu sau: Xây dụng một website cho phép người dùng có thể tìm kiếm, xem thông tin và đặt mua các sản phẩm balo trong thời gian trực tuyến ở bắt kỳ thời điểm và thời gian nào. Và sau đó người dùng có thể theo dõi và để lại bình luận đánh giá với các sản phẩm đã mua Website có giao diện thân thiện với người dùng và có tốc độ xử lý nhanh chóng cũng như bảo mật thông tin cho người dùng Xây dụng hệ thống quản lý ở phía doanh nghiệp hay cửa hàng. Đối tượng nghiên cứu Đề 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 4. Phạm vi nghiên cứu Đố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, … 5. Phân công THÀNH VIÊN CÔNG VIỆC - Thiết kế cơ sở dữ liệu - Xây dựng Back – End Phạm Văn Thắng - Vẽ Diagram - Viết báo cáo - Thiết kế giao diện - Xây dựng Front – End Nguyễn Đức Mạnh - Vẽ Diagram - Viết báo cáo 14 PHẦN NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Giới thiệu ReacJS là một thư viện JavaScript được ra mắt vào năm 2013.
ReacJS được phát triển bởi Facebook và nó được sử dụng để phát triển ứng dụng web và các ứng dụng trên nền tảng di động. [1] Điểm mạnh của ReacJS là cho phép lập trình viên viết HTML trực tiếp lên JavaScript thông qua cú pháp JSX. Vậy nên lập trình viên có thể lập trình và kiểm tra kết quả thông qua việc đưa đoạn HTML vào JavaScript. ReacJS cho phép người lập trình viên tạo ra các Component và có thể lồng nhiều Component vào nhau thông qua lệnh return của phương thức render.
Điều này có thể giúp chúng ta tổ chức code trở nên dễ dàng hơn và chúng ta có thể tái sử dụng code giảm thiểu thời gian code không cần thiết. Ưu điểm ReacJS cho phép việc thực hiện viết các đoạn code Javacript trở nên đễ dàng hơn nhờ sử dụng một cú pháp đặc biệt đó là JSX. Người dùng có thể thực hiện nhúng các đoạn HTML và JavaScript thông qua JSX. [1] ReacJS cho phép phá vỡ những cấu trúc, cấu tạo UI phức tạp thành những Component độc lập và có thể tái sử dụng chúng ở nhiều nơi.
[1] ReacJS hỗ trợ công cụ giúp việc debug code trở nên đơn giản, dễ dàng hơn 1. Giới thiệu ASP.NET Core là một framework mã nguồn mở được phát triển bởi Microsoft cho phát triển ứng dụng web. Nó là phiên bản tiếp theo của ASP.NET Framework và được thiết kế để chạy trên nền tảng .NET Core cung cấp một nền 15 tảng linh hoạt và hiệu quả cho việc xây dựng các ứng dụng web hiện đại và tương thích với nhiều hệ điều hành.NET Core hỗ trợ phát triển và triển khai trên nhiều nền tảng, bao gồm Windows, macOS và Linux. Điều này cho phép xây dựng ứng dụng web đa nền tảng mà không bị ràng buộc bởi hệ điều hành.NET Core được tối ưu hóa để đạt hiệu suất tốt, đáp ứng tải lớn và có thời gian phản hồi nhanh.
Nó sử dụng mô hình xử lý không đồng bộ và sử dụng tài nguyên hiệu quả, giúp tăng cường khả năng mở rộng và đáp ứng nhanh chóng.NET Core cho phép lựa chọn các thành phần cần thiết cho ứng dụng thông qua mô hình module. Bạn chỉ cần chọn những thành phần cần sử dụng, giúp giảm kích thước ứng dụng và tối ưu hóa việc sử dụng tài nguyên.NET Core tích hợp sẵn cơ chế Dependency Injection, giúp quản lý phụ thuộc và tạo mã dễ dàng kiểm thử và tái sử dụng. DI giúp giảm sự phụ thuộc giữa các thành phần của ứng dụng, làm cho mã dễ bảo trì, mở rộng và tái sử dụng.NET Core hỗ trợ phát triển cả các API và ứng dụng web. Bạn có thể sử dụng nó để xây dựng các dịch vụ web RESTful và ứng dụng web đa chức năng với giao diện người dùng tương tác.
Giới thiệu PostgreSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở và mạnh mẽ. Đượ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. Ưu điểm 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ọ. Điều này mang lại sự linh hoạt và khả năng tùy chỉnh cao cho các dự án.
16 PostgreSQL tuân thủ nghiêm ngặt các tiêu chuẩn SQL, bao gồm SQL-92, SQL- 99 và SQL:2016. Điều này đảm bảo tính di động và tương thích của PostgreSQL với các ứng dụng và công nghệ khác trong môi trường phát triển. PostgreSQL có khả năng xử lý tải cao và mở rộng dễ dàng. 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. Nó cũng hỗ trợ các ngôn ngữ lập trình phổ biến như C, C++, Java, Python, PHP và Ruby. Json Web Token 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. Thông tin này có thể được xác thực và đánh dấu tin cậy nhờ vào “chữ ký” của nó.
Phần chữ ký của JWT sẽ được mã hóa lại bằng HMAC hoặc RSA. JSON Web Token bao gồm 3 phần, được ngăn cách nhau bởi dấu chấm: header, payload, signature. [5] 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. Bất cứ khi nào người dùng muốn truy cập vào tài nguyên nào thì người dùng cũng phải cung cấp JWT cho phía máy chủ.
Máy chủ chịu trách nhiệm kiểm tra thông tin JWT có hợp lệ hay không và trả lại dữ liệu cho người dùng nếu hợp lệ. [5] 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. [5] 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. 17 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU 2.
Khảo sát hiện trạng 2. Website "Saigon Swangger” Link: https://saigonswagger. Website "Saigon Swangger” - Các chức năng chính: Giao diện hiển thị sản phẩm theo từng danh mục. Tìm kiếm sản phảm theo tên.
Đăng nhập, đăng ký. Đặt hàng, giỏ hàng, thanh toán sản phẩm Xem thông tin tài khoản. Xem lịch sử mua hàng. - Ưu điểm: Thanh toán bằng nhiều phương thức Giao diện đơn giản, trực quan, người mới dễ dàng sử dụng.
Mặt hàng đa dạng. 18 - Nhược điểm: Không có chức năng chat trực tiếp với cửa hàng. Trong giỏ hàng không có chức năng xóa sản phẩm. Không có chức năng lọc sản phẩm theo yêu cầu (giá, phân loại,.
Website “balohanghieu” Link: https://balohanghieu. Các chức năng chính: Giao diện hiển thị sản phẩm theo từng danh mục. Tìm kiếm sản phảm theo tên. Đặt hàng, giỏ hàng, thanh toán sản phẩm.
Lọc sản phẩm 2. Ưu điểm: Giao diện đơn giản, trực quan, người mới dễ dàng sử dụng. Mặt hàng đa dạng. Lọc sản phẩm theo yêu cầu: thương hiệu, chất liệu, … 2.
Nhược điểm: Không có chức năng thanh toán online. Không tạo tài khoản và lưu thông tin tài khoản. Không có chức năng chat trực tiếp với cửa hàng. Website “balocenter” Link: https://balocenter.
Các chức năng chính: Giao diện hiển thị sản phẩm theo từng danh mục. Đăng nhập, đăng ký. Tìm kiếm sản phảm theo tên. Đặt hàng, giỏ hàng, thanh toán sản phẩm.
Lọc sản phẩm 2. Ưu điểm: Có thể thanh toán bằng nhiều cách. Giao diện đơn giản, trực quan, người mới dễ dàng sử dụng. Mặt hàng đa dạng.