New technologies in software engineering online bookstore

Khám phá công nghệ mới nhất trong kỹ thuật phần mềm tại nhà sách trực tuyến. Cập nhật kiến thức, kỹ năng với sách chuyên ngành hàng đầu. Mua ngay!

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

graduation project

2021

48
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Top Công Nghệ Mới Cho Nhà Sách Online Ngành Kỹ Thuật Phần Mềm

Sự phát triển của thương mại điện tử đã thay đổi vĩnh viễn cách doanh nghiệp và người tiêu dùng tương tác. Trong lĩnh vực đặc thù như kỹ thuật phần mềm, nhu cầu tiếp cận các tài liệu học thuật và sách chuyên ngành ngày càng tăng. Một nhà sách online chuyên biệt không chỉ là nơi mua bán, mà còn là một nền tảng tri thức. Việc ứng dụng các công nghệ mới vào việc xây dựng một nhà sách online kỹ thuật phần mềm là yếu tố then chốt để tạo ra trải nghiệm người dùng vượt trội và hiệu quả vận hành cao. Các công nghệ truyền thống như JAVA servlets, ASP.NET hay PHP, mặc dù phổ biến, đang dần bộc lộ những hạn chế về hiệu năng khi đối mặt với yêu cầu về tính năng thời gian thực và lượng truy cập lớn. Theo nghiên cứu “New Technologies in Software Engineering Online Bookstore” của nhóm sinh viên Đại học Sư phạm Kỹ thuật TP.HCM, việc chuyển đổi sang các ngăn xếp công nghệ hiện đại như MERN (MongoDB, Express, React, Node.js) mang lại giải pháp tối ưu hơn. Nền tảng này không chỉ cải thiện tốc độ xử lý mà còn cung cấp sự đồng nhất và đơn giản trong kiến trúc. Mục tiêu của việc áp dụng công nghệ mới là tạo ra một trang web thương mại điện tử B2C (doanh nghiệp tới khách hàng), nơi người dùng có thể dễ dàng tìm kiếm, xem thông tin và mua các loại sách chuyên ngành, từ Programming language books đến Agile and Scrum guides. Đồng thời, hệ thống phải cung cấp cho quản trị viên các công cụ mạnh mẽ để quản lý sản phẩm, đơn hàng và người dùng một cách hiệu quả. Sự trỗi dậy của Technical e-books và nhu cầu học tập liên tục của các kỹ sư phần mềm đòi hỏi một nền tảng linh hoạt, có khả năng mở rộng và luôn cập nhật các Software development trends mới nhất.

1.1. Tầm quan trọng của sách kỹ thuật điện tử Technical e books

Sách kỹ thuật điện tử, hay Technical e-books, đã trở thành một nguồn tài nguyên không thể thiếu đối với các nhà phát triển phần mềm, kỹ sư hệ thống và sinh viên công nghệ. Không giống như sách in truyền thống, sách điện tử cung cấp sự tiện lợi vượt trội: khả năng truy cập tức thì, tìm kiếm nội dung dễ dàng và mang theo cả một thư viện trong một thiết bị nhỏ gọn. Sự phổ biến của các thiết bị đọc sách và máy tính bảng càng thúc đẩy xu hướng này. Một nhà sách online hiện đại cần phải tối ưu hóa việc cung cấp và quản lý các đầu sách điện tử, từ các System design manuals chi tiết đến những cuốn sách về các ngôn ngữ lập trình mới nổi. Nền tảng phải hỗ trợ nhiều định dạng khác nhau và đảm bảo quy trình mua và tải xuống diễn ra liền mạch. Việc này không chỉ đáp ứng nhu cầu của người đọc mà còn mở ra cơ hội kinh doanh mới cho các nhà xuất bản và tác giả.

1.2. Xu hướng phát triển phần mềm Software development trends mới nhất

Ngành công nghiệp phần mềm luôn vận động không ngừng với các Software development trends liên tục xuất hiện. Các phương pháp luận như Agile và Scrum, kiến trúc như Microservices, và các công nghệ như Trí tuệ nhân tạo (AI) và Học máy (Machine Learning) đang định hình lại cách chúng ta xây dựng ứng dụng. Một nhà sách online chuyên ngành phải phản ánh được những xu hướng này. Nền tảng không chỉ bán sách về các chủ đề này mà chính bản thân nó cũng nên được xây dựng dựa trên các nguyên tắc và công nghệ hiện đại. Ví dụ, việc áp dụng kiến trúc Microservices giúp hệ thống dễ dàng bảo trì và mở rộng từng thành phần độc lập. Tương tự, việc tích hợp các quy trình CI/CD pipeline resources giúp tự động hóa việc kiểm thử và triển khai, đảm bảo hệ thống luôn ổn định và cập nhật nhanh chóng. Việc nắm bắt các xu hướng này là yếu tố sống còn để duy trì tính cạnh tranh và đáp ứng kỳ vọng ngày càng cao của người dùng.

II. Hạn Chế Của Công Nghệ Web Cũ Trong Nhà Sách Kỹ Thuật Số

Các công nghệ phát triển web truyền thống đã phục vụ tốt trong nhiều năm, nhưng chúng đang đối mặt với những thách thức lớn trong bối cảnh hiện đại. Đối với một nhà sách online kỹ thuật phần mềm, nơi yêu cầu hiệu năng cao và trải nghiệm tương tác mượt mà, những hạn chế này trở nên rõ ràng hơn. Các nền tảng như PHP hay ASP.NET thường hoạt động theo mô hình yêu cầu-phản hồi đồng bộ (synchronous). Điều này có nghĩa là máy chủ phải xử lý xong một yêu cầu trước khi chuyển sang yêu cầu tiếp theo. Khi lưu lượng truy cập tăng đột biến, mô hình này dễ gây ra tình trạng tắc nghẽn, làm giảm tốc độ phản hồi và ảnh hưởng tiêu cực đến trải nghiệm người dùng. Tài liệu nghiên cứu của nhóm sinh viên HCMUTE đã chỉ ra rằng “performance is key” (hiệu năng là chìa khóa) trong các ứng dụng web ngày nay. Các hệ thống cũ cũng gặp khó khăn trong việc xây dựng các giao diện người dùng đơn trang (Single Page Application - SPA) một cách tự nhiên. Việc phải tải lại toàn bộ trang mỗi khi người dùng thực hiện một hành động nhỏ (như thêm sản phẩm vào giỏ hàng) tạo ra sự chậm trễ không cần thiết. Hơn nữa, việc tích hợp các công nghệ mới và các Software architecture patterns hiện đại như kiến trúc hướng sự kiện (event-driven architecture) vào một hệ thống kế thừa (legacy system) thường rất phức tạp và tốn kém. Những hạn chế này thúc đẩy nhu cầu tìm kiếm các giải pháp thay thế, có khả năng đáp ứng tốt hơn các yêu cầu về hiệu suất, khả năng mở rộng và tính tương tác của một nhà sách online hiện đại.

2.1. Thách thức về hiệu năng và khả năng mở rộng hệ thống

Hiệu năng và khả năng mở rộng là hai trong số những thách thức lớn nhất mà các công nghệ web cũ phải đối mặt. Một nhà sách online có thể có hàng ngàn đầu sách và hàng chục ngàn người dùng truy cập đồng thời. Các hệ thống xây dựng trên kiến trúc nguyên khối (monolithic) truyền thống thường khó mở rộng một cách hiệu quả. Khi cần nâng cấp một chức năng, toàn bộ ứng dụng phải được triển khai lại, gây ra thời gian chết và rủi ro cao. Hơn nữa, việc xử lý đồng bộ các tác vụ nặng như truy vấn cơ sở dữ liệu phức tạp hoặc xử lý thanh toán có thể làm chậm toàn bộ hệ thống. Điều này đặc biệt nghiêm trọng trong các đợt khuyến mãi lớn, khi lượng truy cập tăng vọt. Các nhà sách cần một hệ thống có thể mở rộng linh hoạt theo chiều ngang (horizontal scaling), tức là thêm nhiều máy chủ hơn để phân tán tải, một điều mà các công nghệ mới như Node.js hỗ trợ rất tốt.

2.2. Khó khăn trong việc áp dụng kiến trúc Microservices

Kiến trúc Microservices architecture là một phương pháp thiết kế phần mềm chia một ứng dụng lớn thành nhiều dịch vụ nhỏ, độc lập. Mỗi dịch vụ chạy trong quy trình riêng và giao tiếp với nhau qua các API nhẹ. Lợi ích chính là sự linh hoạt, khả năng mở rộng độc lập và dễ dàng bảo trì. Tuy nhiên, việc áp dụng kiến trúc này trên các nền tảng công nghệ cũ là một thách thức lớn. Các ngôn ngữ và framework truyền thống không được thiết kế tối ưu cho môi trường phân tán. Việc quản lý giao tiếp giữa các dịch vụ, xử lý lỗi và đảm bảo tính nhất quán dữ liệu trở nên phức tạp. Ngược lại, các công nghệ hiện đại như Node.js, kết hợp với các công cụ như Docker và Kubernetes, tạo ra một hệ sinh thái lý tưởng để xây dựng và vận hành các hệ thống dựa trên Microservices architecture, giúp nhà sách online dễ dàng thêm các tính năng mới mà không ảnh hưởng đến toàn bộ hệ thống.

III. Giải Pháp MERN Stack Xây Dựng Backend Nhà Sách Hiện Đại

Để giải quyết các vấn đề về hiệu năng và khả năng mở rộng, ngăn xếp công nghệ MERN (MongoDB, Express.js, React, Node.js) nổi lên như một giải pháp mạnh mẽ và hiệu quả. Nghiên cứu ứng dụng tại HCMUTE đã lựa chọn MERN vì “sự đơn giản và đồng nhất” của nó, cung cấp một giải pháp tốt hơn cho vấn đề hiệu năng. Trái tim của backend trong MERN là Node.js, một môi trường chạy JavaScript phía máy chủ. Điểm mạnh lớn nhất của Node.js là mô hình I/O không chặn, bất đồng bộ (non-blocking, asynchronous I/O). Điều này cho phép máy chủ xử lý hàng nghìn kết nối đồng thời mà không bị tắc nghẽn, lý tưởng cho các ứng dụng thời gian thực và các trang thương mại điện tử có lưu lượng truy cập cao. Express.js là một framework web tối giản và linh hoạt được xây dựng trên nền tảng Node.js. Nó cung cấp một bộ tính năng mạnh mẽ để phát triển các ứng dụng web và API, giúp đơn giản hóa việc định tuyến, xử lý request và response. MongoDB, cơ sở dữ liệu NoSQL, đóng vai trò lưu trữ. Với cấu trúc dựa trên tài liệu (document-based) linh hoạt, MongoDB rất phù hợp để lưu trữ thông tin sản phẩm sách đa dạng, từ các Cloud computing texts đến các DevOps publications, mà không cần một lược đồ cứng nhắc. Sự kết hợp này tạo ra một hệ thống backend cho nhà sách online kỹ thuật phần mềm có hiệu suất cao, dễ phát triển và bảo trì.

3.1. Node.js và Express.js Xử lý bất đồng bộ cho hiệu năng cao

Node.js và Express.js là bộ đôi hoàn hảo cho việc xây dựng backend hiệu suất cao. Khả năng xử lý bất đồng bộ của Node.js cho phép một luồng duy nhất quản lý nhiều hoạt động cùng lúc. Thay vì chờ một tác vụ I/O (như đọc file hoặc truy vấn cơ sở dữ liệu) hoàn thành, Node.js sẽ tiếp tục xử lý các yêu cầu khác. Khi tác vụ I/O hoàn tất, một hàm callback sẽ được thực thi. Mô hình này giúp tối ưu hóa việc sử dụng tài nguyên CPU và bộ nhớ, mang lại tốc độ phản hồi cực nhanh. Express.js bổ sung một lớp trừu tượng trên Node.js, cung cấp các công cụ tiện lợi để xây dựng API RESTful, quản lý middleware và xử lý lỗi, giúp quá trình phát triển backend cho nhà sách trở nên nhanh chóng và có cấu trúc rõ ràng.

3.2. MongoDB Cơ sở dữ liệu linh hoạt cho danh mục sách đa dạng

Một nhà sách chuyên ngành kỹ thuật phần mềm cần lưu trữ thông tin sản phẩm rất đa dạng, bao gồm tên sách, tác giả, nhà xuất bản, mô tả, đánh giá, giá cả, và các danh mục phức tạp như AI in software development hay Cybersecurity for software engineers. MongoDB, với mô hình dữ liệu linh hoạt của mình, là lựa chọn lý tưởng. Thay vì các bảng và hàng cứng nhắc như cơ sở dữ liệu quan hệ, MongoDB lưu trữ dữ liệu dưới dạng các tài liệu JSON (hoặc BSON). Điều này cho phép mỗi sản phẩm sách có thể có các thuộc tính khác nhau mà không cần thay đổi cấu trúc toàn bộ cơ sở dữ liệu. Khả năng mở rộng theo chiều ngang của MongoDB cũng là một lợi thế lớn, giúp hệ thống dễ dàng xử lý lượng dữ liệu ngày càng tăng khi nhà sách phát triển.

IV. Hướng Dẫn Dùng React

Phần frontend là bộ mặt của nhà sách online kỹ thuật phần mềm, quyết định trực tiếp đến trải nghiệm người dùng. Trong ngăn xếp MERN, React.js là thư viện JavaScript đảm nhận vai trò này. React được phát triển bởi Facebook và nổi tiếng với việc xây dựng các giao diện người dùng (UI) tương tác và có thể tái sử dụng. Thay vì mô hình tải lại trang truyền thống, React cho phép tạo ra các Ứng dụng trang đơn (Single Page Applications - SPA). Trong một SPA, toàn bộ trang web được tải một lần duy nhất, và sau đó chỉ các thành phần dữ liệu cần thiết được cập nhật khi người dùng tương tác. Điều này tạo ra một trải nghiệm mượt mà, nhanh chóng, gần giống như một ứng dụng trên máy tính. Triết lý cốt lõi của React là kiến trúc dựa trên thành phần (component-based architecture). Giao diện người dùng được chia thành các thành phần nhỏ, độc lập và có thể tái sử dụng như thanh điều hướng, danh sách sản phẩm, nút “Thêm vào giỏ hàng”. Cách tiếp cận này giúp mã nguồn trở nên dễ quản lý, dễ kiểm thử và dễ mở rộng. Ví dụ, một thành phần ProductCard có thể được sử dụng để hiển thị thông tin cho bất kỳ cuốn sách nào, từ Machine learning for developers đến Blockchain development books. Việc áp dụng các Software architecture patterns hiện đại như vậy giúp xây dựng một giao diện người dùng nhất quán, hiệu quả và dễ bảo trì.

4.1. Xây dựng trải nghiệm người dùng với kiến trúc component

Kiến trúc dựa trên thành phần (component-based) là một trong những điểm mạnh nhất của React. Mỗi thành phần encapsule (đóng gói) logic và giao diện riêng của nó. Ví dụ, trang chủ của nhà sách có thể được cấu thành từ các component như Header, SearchBar, FeaturedBooksList, và Footer. Mỗi component này có thể được phát triển và kiểm thử độc lập. Khi cần thay đổi thanh tìm kiếm, chỉ cần chỉnh sửa component SearchBar mà không ảnh hưởng đến các phần khác của trang. Sự tái sử dụng giúp tiết kiệm thời gian và công sức. Component BookItem có thể được tái sử dụng trong cả danh sách sản phẩm, kết quả tìm kiếm và danh sách sản phẩm liên quan. Điều này đảm bảo tính nhất quán trong giao diện và giảm thiểu sự lặp lại mã nguồn, giúp việc phát triển giao diện nhà sách trở nên hiệu quả hơn bao giờ hết.

4.2. Quản lý trạng thái ứng dụng cho giỏ hàng và thanh toán

Trong một ứng dụng thương mại điện tử, việc quản lý trạng thái (state) là rất quan trọng. Trạng thái bao gồm các thông tin như người dùng đã đăng nhập chưa, có những sản phẩm nào trong giỏ hàng, số lượng của từng sản phẩm là bao nhiêu. React cung cấp các công cụ mạnh mẽ để quản lý trạng thái, từ useStateuseContext hooks cho các trạng thái cục bộ và toàn cục đơn giản, đến các thư viện chuyên dụng như Redux hoặc MobX cho các ứng dụng phức tạp hơn. Việc quản lý trạng thái hiệu quả đảm bảo rằng dữ liệu luôn nhất quán trên toàn bộ giao diện người dùng. Khi người dùng thêm một sản phẩm vào giỏ hàng trên trang chi tiết sản phẩm, biểu tượng giỏ hàng trên thanh điều hướng sẽ tự động cập nhật số lượng. Quá trình này diễn ra liền mạch, mang lại trải nghiệm mua sắm mượt mà và tin cậy cho người dùng.

V. Case Study Triển Khai Nhà Sách Online Kỹ Thuật Thực Tế

Việc áp dụng lý thuyết vào thực tiễn là minh chứng rõ ràng nhất cho hiệu quả của công nghệ. Đồ án “New Technologies in Software Engineering Online Bookstore” là một case study điển hình về việc triển khai thành công một nhà sách online kỹ thuật phần mềm sử dụng ngăn xếp MERN. Dự án này đã xây dựng một website thương mại điện tử B2C với đầy đủ các chức năng cần thiết, phục vụ hai đối tượng người dùng chính: người dùng cuối (user) và quản trị viên (admin). Đối với người dùng, hệ thống cho phép tạo tài khoản, cập nhật thông tin cá nhân, duyệt qua danh mục sản phẩm, xem thông tin chi tiết của từng cuốn sách như giá, mô tả, hình ảnh và đánh giá. Chức năng giỏ hàng cho phép người dùng thêm, xóa, và thay đổi số lượng sản phẩm. Đặc biệt, dự án đã tích hợp thành công cổng thanh toán PayPal và thẻ tín dụng, mang lại sự tiện lợi và an toàn trong giao dịch. Về phía quản trị viên, hệ thống cung cấp một bảng điều khiển mạnh mẽ để quản lý toàn bộ hoạt động của nhà sách. Admin có thể thêm, sửa, xóa sản phẩm và danh mục, quản lý đơn hàng của người dùng, bao gồm việc xem chi tiết và cập nhật trạng thái đơn hàng. Dự án đã chứng minh rằng MERN stack là một lựa chọn khả thi và hiệu quả để xây dựng các ứng dụng thương mại điện tử hiện đại, đáp ứng tốt các yêu cầu về chức năng và hiệu suất. Các State-of-the-art coding books được trưng bày trên một nền tảng được xây dựng bằng chính những công nghệ tiên tiến nhất.

5.1. Quản lý sản phẩm và đơn hàng cho sách công nghệ chuyên ngành

Chức năng quản lý sản phẩm và đơn hàng là xương sống của bất kỳ hệ thống thương mại điện tử nào. Trong dự án này, giao diện quản trị viên cho phép dễ dàng thêm các đầu sách mới, bao gồm các thông tin chi tiết như tên, mô tả, giá, và hình ảnh. Việc phân loại sách vào các danh mục như Cloud computing texts hay System design manuals cũng được thực hiện một cách trực quan. Khi có đơn hàng mới, quản trị viên sẽ nhận được thông báo và có thể xem toàn bộ thông tin đơn hàng, bao gồm sản phẩm, thông tin giao hàng và trạng thái thanh toán. Hệ thống cho phép quản trị viên cập nhật trạng thái đơn hàng, ví dụ như chuyển từ “đang xử lý” sang “đã giao”, thông báo này sẽ được cập nhật cho người dùng, đảm bảo sự minh bạch trong suốt quá trình mua hàng.

5.2. Tích hợp thanh toán và giải pháp an ninh mạng Cybersecurity

An toàn và bảo mật là yếu tố tối quan trọng trong thương mại điện tử. Dự án đã tập trung vào việc đảm bảo an ninh cho hệ thống. Quá trình xác thực và phân quyền người dùng được triển khai để đảm bảo chỉ những người dùng đã đăng nhập mới có thể thực hiện các hành động như đặt hàng, và chỉ admin mới có quyền truy cập vào các chức năng quản trị. Việc tích hợp các cổng thanh toán uy tín như PayPal giúp giảm thiểu rủi ro liên quan đến thông tin thẻ tín dụng của khách hàng, vì các giao dịch nhạy cảm được xử lý bởi một bên thứ ba chuyên nghiệp. Các biện pháp cơ bản về Cybersecurity for software engineers như mã hóa mật khẩu và bảo vệ chống lại các cuộc tấn công phổ biến (như SQL injection, XSS) cũng được chú trọng, tạo ra một môi trường mua sắm an toàn và đáng tin cậy cho người dùng.

VI. Tương Lai Nhà Sách Online Tích Hợp AI và Cloud Computing

Mặc dù dự án đã triển khai thành công các chức năng cốt lõi, vẫn còn nhiều tiềm năng để cải tiến và phát triển trong tương lai. Báo cáo đã chỉ ra một số hạn chế như giao diện chưa tương thích tốt với thiết bị di động (responsive) và một số chức năng chưa được tối ưu hóa hoàn toàn. Hướng phát triển trong tương lai cho một nhà sách online kỹ thuật phần mềm không chỉ dừng lại ở việc cải thiện UI/UX hay tích hợp thêm phương thức thanh toán. Xu hướng lớn hơn là ứng dụng các công nghệ đột phá như Trí tuệ nhân tạo (AI) và Điện toán đám mây (Cloud Computing). Việc triển khai hệ thống trên các nền tảng đám mây như AWS, Google Cloud hay Azure sẽ mang lại khả năng mở rộng gần như vô hạn, độ tin cậy cao và chi phí vận hành linh hoạt. Các dịch vụ đám mây cũng cung cấp sẵn các công cụ mạnh mẽ cho CI/CD pipeline resources, giúp tự động hóa hoàn toàn quy trình phát triển và triển khai phần mềm. Đặc biệt, việc tích hợp AI và Machine Learning sẽ tạo ra một cuộc cách mạng trong trải nghiệm mua sắm. Hệ thống có thể phân tích hành vi duyệt web và lịch sử mua hàng của người dùng để đưa ra những gợi ý sách chính xác, giúp họ khám phá những cuốn sách phù hợp nhất với chuyên môn và sở thích của mình, từ AI in software development đến các DevOps publications mới nhất. Tương lai của nhà sách online là một nền tảng thông minh, cá nhân hóa và có khả năng đáp ứng linh hoạt theo nhu cầu của thị trường.

6.1. Ứng dụng AI và Machine Learning để gợi ý sách lập trình

Trí tuệ nhân tạo và học máy (AI in software developmentMachine learning for developers) có thể biến một nhà sách online từ một cửa hàng tĩnh thành một chuyên gia tư vấn cá nhân. Bằng cách phân tích dữ liệu, hệ thống có thể xây dựng một “hệ thống gợi ý” (recommendation engine) thông minh. Ví dụ, nếu một người dùng thường xuyên mua các Programming language books về Python và các tài liệu về phân tích dữ liệu, hệ thống có thể tự động đề xuất những cuốn sách mới nhất về thư viện Pandas hoặc TensorFlow. Chức năng “những người mua sách này cũng mua” sẽ giúp người dùng khám phá các tài liệu liên quan mà họ có thể đã bỏ lỡ. Hơn nữa, AI có thể được sử dụng để phân tích các bài đánh giá sản phẩm, tóm tắt các ý kiến chính và giúp người mua đưa ra quyết định nhanh hơn.

6.2. Triển khai trên nền tảng đám mây Cloud computing để tối ưu

Việc chuyển toàn bộ hạ tầng của nhà sách lên nền tảng đám mây (Cloud computing) mang lại nhiều lợi ích chiến lược. Thứ nhất là khả năng mở rộng linh hoạt (scalability). Hệ thống có thể tự động tăng hoặc giảm tài nguyên (CPU, RAM) dựa trên lưu lượng truy cập thực tế, đảm bảo hiệu suất ổn định ngay cả trong các đợt cao điểm mà không gây lãng phí chi phí. Thứ hai là độ tin cậy cao (reliability). Các nhà cung cấp đám mây lớn đảm bảo thời gian hoạt động lên đến 99.99%, với các cơ chế sao lưu và phục hồi sau thảm họa tự động. Cuối cùng, việc sử dụng các dịch vụ được quản lý (managed services) như cơ sở dữ liệu, cân bằng tải và mạng phân phối nội dung (CDN) giúp đội ngũ phát triển tập trung vào việc xây dựng tính năng thay vì quản lý hạ tầng.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

20/09/2025

Trích đoạn nội dung tài liệu

MINISTRY OF EDUCATION AND TRAINING HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING -------------------- NEW TECHNOLOGIES IN SOFTWARE ENGINEERING ONLINE BOOKSTORE INSTRUCTOR: Nguyen Thien Bao, PhD. STUDENTS: Đinh Văn Trường 18110060 Nguyễn Đình Long 18110027 Dương Võ Nhật Duy 18110006 Đỗ Kim Hoàng Tuấn 171100 HO CHI MINH CITY - 2021 Faculty For High Quality Tranining - HCMUTE HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING ----🙣🙣🙣---- NEW TECHNOLOGIES IN SE ONLINE BOOKSTORE Instructor: Nguyen Thien Bao, PhD. Students : Đinh Văn Trường 18110060 Nguyễn Đình Long 18110027 Dương Võ Nhật Duy 18110006 Đỗ Kim Hoàng Tuấn 171100 Ho Chi Minh City, November 2021 Faculty For High Quality Tranining - HCMUTE CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – T do – Hạnh phúc Ho Chi Minh City, 25 October, 2021 PROJECT CONTRIBUTION Full name: Đinh Văn Trường ID:18110060 Class: 18110CLA3 Full name: Nguyễn Đình Long ID:18110027 Class: 18110CLA3 Full name: Dương Võ Nhật Duy ID:18110006 Class: 18110CLA1 Full name: Đỗ Kim Hoàng Tuấn ID:171100 Class: Major: Information Technology Instructor: Nguyen Thien Bao, PhD. Date of getting topic: 11/09/2021 Submit date: xx/xx/2021 1.

Topic: A movie ticket booking system with multi-theater support 2. Original data and documents: 3. Product: DIRECTOR/DEPUTY DIRECTOR OF FACULTY INSTRUCTOR Nguyen Thien Bao Faculty For High Quality Tranining - HCMUTE CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – TM do – Hạnh phúc ******* INSTRUCTOR’S EVALUATION Full name: Đinh Văn Trường ID:18110060 Class: 18110CLA3 Full name: Nguyễn Đình Long ID:18110027 Class: 18110CLA3 Full name: Dương Võ Nhật Duy ID:18110006 Class: 18110CLA1 Full name: Đỗ Kim Hoàng Tuấn ID:171100 Class: Major: Information technology Topic: A movie ticket booking system with multi-theater support Instructor’s full name: Nguyen Thien Bao, PhD. About content & workload: 2.

Mark: (By word: ) Ho Chi Minh city, day 25 month 11 year 2021 Instructor Nguyen Thien Bao Faculty For High Quality Tranining - HCMUTE ACKNOWLEDGEMENT The success of a student more or less always accompanies a lecturer. We would like to express our sincere thanks to Mr. Nguyen Thien Bao, who directly supported the group, give us suggestions, comments and suggestions as well as provide tips to help us make the best project. Thanks to his instructions, helped our team understand the knowledge to do the presentation as well as the implementation of the project so we have completed the schedule with a lot of experience that we learn.

Again, our team would like to thank the lecturer. Projects are made around two months, just enough to complete it. However, due to some unexpected problems the project will have many errors, that is inevitable. We are looking forward to receiving all the comments from our tearcher to help our project better.

Ho Chi Minh city, 25 October, 2021 Students Đinh Văn Trường Nguyễn Đình Long Dương Võ Nhật Duy Đỗ Kim Hoàng Tuấn Faculty For High Quality Tranining - HCMUTE SUMMARY Online Book Shop Buying books over the web at an online book shop is an interesting and informative buying experience. It allows you to buy books suited to your interests and that too while relaxing at home at any time of the day or night. Online book browsing and buying is indeed transforming the way readers and an author come together, and is already creating a huge effect on the publishing and book retail industries. Our Online Book Store is a B2C online web store, it is also the easiest way for us to show what we have learned new technologies and apply it to our store.

Faculty For High Quality Tranining - HCMUTE TABLE OF CONTENTS Online Bookstore Table of Contents CHAPTER I: INTRODUCTION. Introduction about the project subject:. About our group 3:. 14 CHAPTER II: WEBSITE PRODUCT REQUIREMENTS.15 CHAPTER III: PRODUCT DESIGN AND IMPLEMENTATION.Use Case Diagram:.Use Case Specifications:.Technology we are using:.34 CHAPTER IV: CONCLUSION AND FUTURE DIRECTIONS.35 Faculty For High Quality Tranining - HCMUTE CHAPTER I: INTRODUCTION 1.

Introduction about the project subject: Nowadays, technology is growing incredibly fast. The rapid innovation of hardware devices makes software technologies to advance as well, automatically take place of old technologies. Because of the significant expanding in the number of electronic devices that use Internet and real-time feature, performance is key. By tradition, web development has been carried out by technologies such as JAVA servlets, ASP.NET or PHP.

While those technologies are quite widespread and have good features with many years of development and are supported by a large community, they still have some limitations concerning about today’s need which is performance. The MERN stack (MongoDB, Express, React and Node) with their simplicity and uniformity, has been recently developed to become a better solution for this performance issue. Project objectives: The idea of this web application was toward a startup running by the author’s parents as they decided to open a book retail store. By researching, the author realized how ecommerce – an enormous platform is emerging at an extraordinary speed over the last decades all over the world and providing more advantages and conveniences as compared to physical stores.

Ecommerce has changed permanently the way business and consumer interact, which allows users to connect with their favorite shops and brands whenever and wherever they want and also helps stores to more actively approach consumers. It is believed that the growth of e-commerce for the next incoming years is increasing beyond measure rate with the release of modern technologies. Understanding this need, the author’s solution was to create an e-commerce web application as an online bookstore in order for the startup to develop its business strategy. Faculty For High Quality Tranining - HCMUTE 3.

About our group 3: No Name Student Email Relevant Role ID skills 1 Đinh Văn 18110060 18110060@student.vn Leadership Leader, Trường , Back-end MongoDB, developer Express.JS 2 Nguyễn 18110027 18110027@student.JS, Front-end Đình Long Html developer 3 Dương Võ 18110006 18110006@student.vn Design and Front-end Nhật Duy photo- developer, editing designer software, creativity and innovation 4 Đỗ Kim 17110088 17110088@student.vn MongoDB, Back-end Hoàng Tuấn Express.JS developer Front-end developer: Responsible for a website’s user-facing code and the architecture of its immersive user experiences. In all, a front-end dev is responsible for the interior design of a house that’s been built by a back-end dev. The taste and style of the decor is dictated by the homeowner. Back-end developer: In order to make the server, application, and database communicate with each other, back-end dev use server-side languages, tools to create or contribute to web applications with clean, portable, well-documented code.

But before writing that code, they need to collaborate with business stakeholders to understand their particular needs, then translate those into technical requirements and come up with the most effective and efficient solution for architecting the technology. Leader: Responsible for division each member work, group leader will monitor group project and find materials, resources for member in each task,… Faculty For High Quality Tranining - HCMUTE Designer: Designing web template, decide where the item should be place on the web page for a prettier user interface, … 4. Application requirements: Typically, a (business to customer) B2C e-commerce web application has two types of users, which are admin and user. Admins are responsible for some specific management tasks such as creating, updating and removing the products from the database as well as managing user orders.

A user is able to browse and read product’s information displayed in the application. He can also add the product to the shopping cart and perform the payment for that product. While some resources and web routes are public, the others can only be accessed by an admin or a signed in user. By interviewing and researching some normal customers and business owners, the author figured out what different type of user want from the application, what features they think are necessary for an e-commerce web application.

Based on that, a list of user stories is shown below to illustrate some of the required functionalities for this application: As a user, user want: + To create an account for himself + To update his profile + To surf through all the products + To see product information such as category, price, name, review, picture, etc. + To add many products to the shopping cart and is able to view the cart + To delete products from the cart + To modify the quantity of products inside the cart + To pay for the products in the cart As an admin, admin must have these function: + Add product to the database + Remove product from the database + Update product to the database + Add category to the database Faculty For High Quality Tranining - HCMUTE + Manage user orders 4. Application development: This section is dedicated to demonstrate the functionalities development process from back-end to front-end of the e-commerce application. Due to the limited scope of this thesis, it is not able to mention all the files or describe every step in the project into details, but it aims to discuss precisely about all fundamental and important parts that needed to implement the MERN application.

Basic concepts of any third-party libraries or module are also explained along the way. The project structure is divided into 2 folder, ecommerce and ecommerce-front which contain the source code of back-end and front-end respectively. Timetable: Week Works and tasks for that week 1 Group dividing, discuss about what topic should we following for our final project 2 Do research about topic that we choose, find materials and what we should, shouldn’t have, apply to that topic 3 Do research about those new technologies that we are going to learn in this course and decide which one we should use, apply to our final project 4 Project setup, download application need for project 5 Sign up, sign in and authentication 6 Product and categories 7 Design web homepage, navbar 8 Products search, filter and related products 9 Orders and payment method 10 User profile 11 Manage orders, products by admin 12 Web testing, find errors and bugs on that web 13 Group meeting, fixing previous bugs, errors Faculty For High Quality Tranining - HCMUTE 14 Do final project report 15 Prepare for final project presentation 6. Communication: We typically communication through Facebook messenger, whenever we need to discuss about our project.

We also have a group meeting every 9.am, Tuesday on Discord to discuss about what we have done for our project so far and plan on next week tasks in order to stick to our very first project developing plan. We all have each other Facebook account and student email so the communication is always in contact. If something went wrong, we might use other contact options like ask lecturers for family phone number in order to contact him. Risks: Every project might also have some risks or issues, with our project, we are facing some of this risks: - Due to the Covid 19, it’s hard for us sometimes (member need to have vaccination, Covid testing while we are on a meeting for our project).

- Because we using new technologies so it was a bit difficult at first to get acquainted to the technologies. - There were some difficult for us because some of us are staying at home this semester. Some need to help parent with housework, or something else like bad connection, electric is power-off, … these was some small issues that affect our group project. Faculty For High Quality Tranining - HCMUTE CHAPTER II: WEBSITE PRODUCT REQUIREMENTS 1.

Target user: - Books lover. - People who want to buying books but busy and cant go to the store. - People who lover buying things online 1. Functionalities: User have these function: + Create an account for themself + Update their profile + Surf through all the products + See product information such as category, price, name, review, picture, etc.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ