Báo Cáo Đồ Án Môn Học Phát Triển Phần Mềm Hướng Dịch Vụ

Tiểu luận báo cáo đồ án môn học phát triển phần mềm hướng dịch vụ cung cấp kiến thức và kỹ năng cần thiết cho sinh viên trong lĩnh vực này.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2023

77
7
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan báo cáo đồ án phát triển phần mềm hướng dịch vụ

Báo cáo đồ án phát triển phần mềm hướng dịch vụ là một tài liệu học thuật quan trọng, đặc biệt đối với sinh viên tại TP. Hồ Chí Minh. Nó không chỉ tổng kết kiến thức mà còn thể hiện khả năng ứng dụng lý thuyết vào thực tiễn. Báo cáo này trình bày chi tiết quá trình từ lên ý tưởng, phân tích, thiết kế đến triển khai một hệ thống phần mềm hoàn chỉnh. Trọng tâm của báo cáo là việc áp dụng kiến trúc hướng dịch vụ SOA (Service-Oriented Architecture). Kiến trúc này giúp chia nhỏ ứng dụng thành các dịch vụ độc lập, có khả năng tái sử dụng cao. Mỗi dịch vụ thực hiện một chức năng nghiệp vụ riêng biệt và giao tiếp với nhau qua các giao thức chuẩn. Cách tiếp cận này mang lại sự linh hoạt và khả năng mở rộng vượt trội so với kiến trúc nguyên khối truyền thống. Một đồ án tốt nghiệp công nghệ thông tin chất lượng phải thể hiện rõ cấu trúc này, từ việc mô tả hệ thống, phân rã chức năng, đến đặc tả chi tiết các API. Tài liệu này cũng đóng vai trò như một hướng dẫn làm đồ án phần mềm cho các khóa sau, cung cấp một mẫu báo cáo đồ án chuẩn mực. Nội dung bao gồm các chương chính như mô tả hệ thống, phân tích kiến trúc, công nghệ sử dụng, và kết quả triển khai ứng dụng thực tế. Việc hoàn thành xuất sắc báo cáo này là một bước đệm vững chắc cho các khóa luận chuyên ngành phần mềm TPHCM và cả các luận văn thạc sĩ CNTT sau này.

1.1. Tầm quan trọng của đồ án tốt nghiệp công nghệ thông tin

Một đồ án tốt nghiệp công nghệ thông tin không chỉ là yêu cầu bắt buộc để hoàn thành chương trình học. Nó là cơ hội để sinh viên tổng hợp và vận dụng toàn bộ kiến thức đã học. Đồ án giúp sinh viên rèn luyện kỹ năng giải quyết vấn đề, làm việc nhóm, và quản lý dự án. Đặc biệt tại môi trường năng động như TPHCM, các doanh nghiệp IT luôn tìm kiếm ứng viên có kinh nghiệm thực tế. Một đồ án thành công, áp dụng các công nghệ hiện đại như thiết kế hệ thống microservices hay lập trình với RESTful API, sẽ là một điểm cộng lớn trong hồ sơ xin việc. Nó chứng minh năng lực của sinh viên trong việc xây dựng một sản phẩm phần mềm hoàn chỉnh, đáp ứng nhu cầu thực tiễn của thị trường.

1.2. Giới thiệu mẫu báo cáo đồ án môn học phần mềm dịch vụ

Tài liệu gốc là một mẫu báo cáo đồ án tiêu biểu cho môn học Phát triển phần mềm hướng dịch vụ. Báo cáo được trình bày khoa học, bắt đầu bằng lời cảm ơn, phân chia công việc rõ ràng cho từng thành viên. Phần trọng tâm là chương mô tả hệ thống, bao gồm sơ đồ phân rã chức năng, đặc tả các bảng dữ liệu trong cơ sở dữ liệu MySQL, và mô hình kiến trúc REST API. Báo cáo này là một tài liệu tham khảo đồ án SOA hữu ích, minh họa cách áp dụng các mô hình thiết kế phổ biến như MVC (Model-View-Controller) và MVVM (Model-View-ViewModel) vào việc xây dựng các client khác nhau (Web Admin, Web User, Mobile). Việc phân tích mẫu báo cáo này giúp sinh viên hiểu rõ cấu trúc cần có và các nội dung cần trình bày để đạt điểm số cao.

II. Thách thức khi làm đồ án phát triển phần mềm hướng dịch vụ

Việc thực hiện một đồ án phát triển phần mềm hướng dịch vụ đặt ra nhiều thách thức không nhỏ. Thách thức lớn nhất đến từ sự phức tạp của chính kiến trúc phân tán. Thay vì quản lý một khối mã nguồn duy nhất, sinh viên phải thiết kế, triển khai và quản lý nhiều dịch vụ độc lập. Điều này đòi hỏi kiến thức sâu về 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. Việc thiết kế hệ thống microservices hiệu quả yêu cầu khả năng phân tách logic nghiệp vụ một cách hợp lý. Nếu phân tách không tốt, hệ thống sẽ trở nên khó quản lý và bảo trì hơn cả kiến trúc nguyên khối. Một khó khăn khác là việc lựa chọn công nghệ phù hợp cho từng dịch vụ và cách chúng tương tác với nhau. Sinh viên cần hiểu rõ về lập trình web services, các giao thức như RESTful API và SOAP, và các công cụ hỗ trợ như API Gateway hay service discovery. Ngoài ra, việc kiểm thử một hệ thống phân tán cũng phức tạp hơn nhiều. Cần phải có chiến lược kiểm thử tích hợp (integration testing) kỹ lưỡng để đảm bảo toàn bộ hệ thống hoạt động trơn tru. Những thách thức này đòi hỏi sinh viên không chỉ vững về lý thuyết mà còn phải có kỹ năng thực hành và giải quyết vấn đề tốt.

2.1. Vấn đề của kiến trúc Monolithic truyền thống

Kiến trúc Monolithic (nguyên khối) là mô hình phát triển phần mềm truyền thống, nơi tất cả các thành phần được xây dựng và triển khai như một thể thống nhất. Mặc dù đơn giản để bắt đầu, mô hình này bộc lộ nhiều nhược điểm khi ứng dụng phát triển lớn hơn. Thứ nhất, việc bảo trì và cập nhật trở nên khó khăn. Một thay đổi nhỏ ở một chức năng có thể ảnh hưởng đến toàn bộ hệ thống, đòi hỏi phải kiểm thử lại tất cả và triển khai lại toàn bộ ứng dụng. Thứ hai, khả năng mở rộng bị hạn chế. Hệ thống chỉ có thể được mở rộng theo chiều dọc (tăng tài nguyên máy chủ), rất tốn kém và không hiệu quả. Cuối cùng, kiến trúc này gây ra sự ràng buộc về công nghệ. Toàn bộ ứng dụng phải được xây dựng trên một nền tảng công nghệ duy nhất, gây khó khăn cho việc áp dụng các công nghệ mới.

2.2. Khó khăn trong việc thiết kế và triển khai microservices

Chuyển đổi sang thiết kế hệ thống microservices giải quyết các vấn đề của Monolithic nhưng cũng mang lại những khó khăn riêng. Việc xác định ranh giới giữa các dịch vụ là một bài toán nghệ thuật. Nếu chia quá nhỏ, chi phí giao tiếp mạng sẽ tăng cao. Nếu chia quá lớn, dịch vụ sẽ dần trở thành một monolith thu nhỏ. Việc quản lý một hệ thống gồm hàng chục, hàng trăm service đòi hỏi các công cụ tự động hóa cho việc triển khai, giám sát và phát hiện lỗi. Các vấn đề như độ trễ mạng, xử lý lỗi liên dịch vụ, và đảm bảo tính nhất quán dữ liệu (data consistency) là những bài toán phức tạp mà các lập trình viên phải đối mặt. Đây là những kỹ năng nâng cao thường được đề cập trong các báo cáo thực tập doanh nghiệp phần mềm hoặc các luận văn thạc sĩ CNTT chuyên sâu.

III. Phương pháp xây dựng kiến trúc hướng dịch vụ SOA tối ưu

Để xây dựng thành công một đồ án phát triển phần mềm hướng dịch vụ, việc áp dụng phương pháp luận đúng đắn là cực kỳ quan trọng. Nền tảng của phương pháp này là kiến trúc hướng dịch vụ SOA. Nó định nghĩa một tập hợp các nguyên tắc thiết kế để tạo ra các dịch vụ phần mềm có khả năng tương tác và tái sử dụng cao. Trọng tâm của việc triển khai SOA hiện đại là sử dụng REST (Representational State Transfer). Như trong báo cáo tham khảo, việc xây dựng các RESTful API là cách tiếp cận phổ biến nhất. REST sử dụng các phương thức HTTP tiêu chuẩn (GET, POST, DELETE, PUT) để giao tiếp, giúp hệ thống trở nên đơn giản và dễ tích hợp. Mỗi dịch vụ sẽ phơi bày các API của mình, cho phép các dịch vụ khác hoặc các ứng dụng client (web, mobile) tương tác. Để quản lý luồng giao tiếp này một cách hiệu quả, các mẫu thiết kế như API Gateway được áp dụng. API Gateway đóng vai trò là một điểm vào duy nhất cho tất cả các yêu cầu từ client, giúp đơn giản hóa việc xác thực, giám sát và định tuyến yêu cầu đến các dịch vụ phù hợp. Việc tuân thủ các nguyên tắc thiết kế này đảm bảo hệ thống không chỉ linh hoạt mà còn bảo mật và dễ quản lý.

3.1. Phân tích sâu về kiến trúc hướng dịch vụ SOA

Kiến trúc hướng dịch vụ SOA là một mô hình thiết kế phần mềm, nơi các chức năng ứng dụng được cung cấp dưới dạng các 'dịch vụ' độc lập. Các đặc điểm chính của SOA bao gồm: khả năng khám phá (discoverability), khả năng tái sử dụng (reusability), và sự kết nối lỏng lẻo (loose coupling). Điều này có nghĩa là một dịch vụ có thể được thay thế hoặc nâng cấp mà không ảnh hưởng đến các dịch vụ khác trong hệ thống. SOA thúc đẩy việc chuẩn hóa giao tiếp, giúp các hệ thống được phát triển trên các nền tảng công nghệ khác nhau vẫn có thể tương tác với nhau. Đây là nền tảng lý thuyết quan trọng cho sinh viên khi thực hiện khóa luận chuyên ngành phần mềm TPHCM, giúp họ xây dựng các hệ thống có vòng đời dài và dễ bảo trì.

3.2. Vai trò của RESTful API và SOAP trong hệ thống

RESTful API và SOAP là hai phương pháp chính để triển khai web services. SOAP (Simple Object Access Protocol) là một giao thức dựa trên XML, có tính chặt chẽ và bảo mật cao, thường được sử dụng trong các hệ thống doanh nghiệp lớn. Ngược lại, RESTful API là một kiểu kiến trúc, không phải là một giao thức cứng nhắc. Nó thường sử dụng JSON làm định dạng dữ liệu, nhẹ hơn và dễ sử dụng hơn SOAP. Đồ án tham khảo đã lựa chọn REST API, đây là lựa chọn phổ biến cho các ứng dụng web và mobile hiện đại nhờ hiệu năng cao và sự đơn giản. Việc hiểu rõ ưu nhược điểm của cả hai sẽ giúp sinh viên đưa ra quyết định công nghệ phù hợp cho dự án của mình.

3.3. Tối ưu hệ thống với API Gateway và Service Discovery

Trong một hệ thống microservices phức tạp, API GatewayService Discovery là hai thành phần thiết yếu. API Gateway hoạt động như một lớp đệm giữa client và các microservice. Nó xử lý các tác vụ chung như xác thực người dùng, giới hạn tần suất truy cập (rate limiting), và ghi log, giúp các microservice tập trung vào logic nghiệp vụ cốt lõi. Trong khi đó, Service Discovery giải quyết vấn đề làm thế nào các dịch vụ có thể tìm thấy nhau trong một môi trường động. Thay vì cấu hình cứng địa chỉ IP, các dịch vụ sẽ tự đăng ký với một 'registry' và truy vấn registry này để tìm địa chỉ của các dịch vụ khác. Việc áp dụng hai mẫu thiết kế này giúp hệ thống trở nên mạnh mẽ, linh hoạt và dễ dàng mở rộng.

IV. Hướng dẫn chọn công nghệ phát triển phần mềm hướng dịch vụ

Việc lựa chọn công nghệ phù hợp là yếu tố quyết định đến sự thành công của đồ án phát triển phần mềm hướng dịch vụ. Báo cáo của nhóm sinh viên Học viện Công nghệ Bưu chính Viễn thông đã đưa ra một bộ công nghệ (tech stack) rất hiện đại và hiệu quả. Đối với phía máy chủ (backend), việc sử dụng Node.js và framework Express.js là một lựa chọn thông minh. Node.js với kiến trúc bất đồng bộ, hướng sự kiện (event-driven) rất phù hợp để xây dựng các API có hiệu năng cao, xử lý nhiều yêu cầu đồng thời. Về cơ sở dữ liệu, MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ, ổn định và được cộng đồng hỗ trợ rộng rãi, phù hợp cho việc lưu trữ dữ liệu có cấu trúc như thông tin người dùng, sản phẩm, đơn hàng. Đối với phía client (frontend), React.js là một thư viện JavaScript hàng đầu để xây dựng giao diện người dùng tương tác và linh hoạt cho ứng dụng web. Để phát triển ứng dụng di động, React Native cho phép lập trình viên sử dụng cùng một codebase React để xây dựng ứng dụng cho cả iOS và Android, giúp tiết kiệm thời gian và công sức. Sự kết hợp này tạo nên một hệ sinh thái công nghệ toàn diện, là một hướng dẫn làm đồ án phần mềm đáng tham khảo.

4.1. Lựa chọn Web Server Node.js và Express.js cho Backend

Node.js là một môi trường chạy JavaScript phía máy chủ, cho phép xây dựng các ứng dụng mạng nhanh và có khả năng mở rộng. Express.js là một framework tối giản và linh hoạt được xây dựng trên nền tảng Node.js, cung cấp một bộ tính năng mạnh mẽ để phát triển ứng dụng web và API. Sự kết hợp này đặc biệt hiệu quả trong việc lập trình web services theo kiến trúc microservices. Nó cho phép tạo ra các API nhẹ, nhanh chóng và dễ dàng triển khai. Các doanh nghiệp IT tại TPHCM rất ưa chuộng các lập trình viên có kỹ năng về Node.js và Express.js do tính hiệu quả và cộng đồng phát triển lớn mạnh của chúng.

4.2. Xây dựng Frontend với React.js và React Native

React.js và React Native, đều được phát triển bởi Facebook, đã cách mạng hóa cách xây dựng giao diện người dùng. React.js sử dụng kiến trúc dựa trên component, cho phép chia nhỏ giao diện phức tạp thành các thành phần độc lập và có thể tái sử dụng. Điều này giúp mã nguồn dễ quản lý và bảo trì. React Native mở rộng triết lý này sang phát triển di động. Nó cho phép các nhà phát triển sử dụng kỹ năng React của mình để xây dựng các ứng dụng di động gốc (native app) thực thụ, mang lại trải nghiệm người dùng mượt mà và hiệu năng cao. Việc sử dụng chung một ngôn ngữ (JavaScript) và một hệ sinh thái cho cả web và mobile là một lợi thế rất lớn trong các dự án phần mềm hiện đại.

V. Phân tích ứng dụng thực tiễn từ đồ án phần mềm dịch vụ

Giá trị của một đồ án không chỉ nằm ở lý thuyết mà còn ở sản phẩm thực tế. Đồ án này đã thành công trong việc xây dựng một hệ thống hoàn chỉnh gồm ba thành phần chính: ứng dụng web cho người dùng, ứng dụng web cho quản trị viên, và ứng dụng di động. Mỗi thành phần đều được thiết kế giao diện (UI) và trải nghiệm người dùng (UX) một cách cẩn thận, thể hiện rõ các chức năng nghiệp vụ của một hệ thống bán hàng. Đây là minh chứng rõ ràng cho việc ứng dụng SOA trong thực tế. Việc phân tách thành các client riêng biệt cho thấy sự linh hoạt của kiến trúc hướng dịch vụ. Tất cả các client này đều giao tiếp với cùng một hệ thống backend thông qua các RESTful API đã được định nghĩa. Điều này đảm bảo tính nhất quán về dữ liệu và logic nghiệp vụ trên mọi nền tảng. Phân tích chi tiết các chức năng như quản lý giỏ hàng, đặt hàng, thanh toán, đánh giá sản phẩm... cho thấy nhóm sinh viên đã đầu tư nghiêm túc vào việc phân tích yêu cầu người dùng và chuyển hóa chúng thành các tính năng phần mềm hữu ích. Đây là một ví dụ điển hình cho một báo cáo thực tập doanh nghiệp phần mềm hoặc một đồ án tốt nghiệp chất lượng cao.

5.1. Xây dựng ứng dụng Web cho người dùng và quản trị viên

Ứng dụng web được chia thành hai phần riêng biệt. Trang cho người dùng (user) tập trung vào trải nghiệm mua sắm: xem sản phẩm, tìm kiếm, thêm vào giỏ hàng, quản lý danh sách yêu thích và theo dõi lịch sử đơn hàng. Giao diện được thiết kế trực quan, dễ sử dụng. Trong khi đó, trang quản trị (admin) cung cấp các công cụ mạnh mẽ để quản lý toàn bộ hệ thống. Quản trị viên có thể thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên sản phẩm, quản lý đơn hàng (xác nhận, hủy đơn), và xem các báo cáo, thống kê kinh doanh. Việc tách biệt hai giao diện này giúp tối ưu hóa luồng công việc cho từng đối tượng người dùng và đảm bảo an toàn, bảo mật cho các chức năng quản trị.

5.2. Phát triển ứng dụng Mobile đa nền tảng với React Native

Ứng dụng di động được xây dựng bằng React Native mang lại trải nghiệm gần gũi và tiện lợi cho người dùng trên smartphone. Ứng dụng triển khai đầy đủ các tính năng cốt lõi như trang chủ, tìm kiếm, chi tiết sản phẩm, giỏ hàng, thanh toán và quản lý thông tin cá nhân. Báo cáo mô tả chi tiết các màn hình, từ giao diện chào mừng, đăng nhập, đăng ký cho đến các màn hình phức tạp hơn như chi tiết hóa đơn hay đánh giá món ăn. Việc sử dụng các kỹ thuật hiện đại như Lazy Loading và Infinite Scroll giúp ứng dụng tải dữ liệu hiệu quả, cải thiện hiệu năng và trải nghiệm người dùng. Đây là một điểm sáng, cho thấy kỹ năng lập trình di động vững chắc của nhóm.

13/07/2025
Tiểu luận báo cáo đồ án môn học phát triển phần mềm hướng dịch vụ

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

CHƯƠNG 1. MÔ TẢ HỆ THỐNG I. Sơ đồ phân rã Document continues below Discover more from: Hệ Thống Thông Tin httt-1 Học viện Công ng… 382 documents Go to course Giáo trình Hệ thống thong tin quản lý… 190 Hệ Thống 100% (17) Thông Tin Phân tích Hệ thống thông tin về chuỗi… 18 Hệ Thống 100% (5) Thông Tin 123doc huong dan su dung tems pocket 29 Hệ Thống 100% (4) Thông Tin Lý thuyết truyền tin ôn tập 41 Hệ Thống 100% (3) Thông Tin Ngân hàng Ttdidong Nhatptit 62 Hệ Thống 100% (3) Thông Tin CÂU HỎI HỆ THỐNG THÔNG TIN TRONG… 35 Hệ Thống 100% (2) Thông Tin III. Đặc tả sơ đồ Tên bảng Mô tả Bảng chứa danh sách nhân viên bao gồm: staffs tên, giới tính, sdt, email.

Bảng chứa danh sách phân quyền bao gồm: roles Admin, Khách hàng… Bảng chứa danh sách khách hàng bao gồm: customers tên, sdt, địa chỉ… payments Bảng chứa danh sách phương thức thanh toán Bảng chứa danh sách đồ ăn nhanh bao gồm: items loại, tên, hình ảnh, giá, mô tả, nguyên liệu. accounts Bảng chứa danh sách tài khoản dùng để đăng nhập Bảng chứa danh sách loại mà item thuộc về: types Nước uống, bánh, bánh mặn. orders Bảng chứa danh sách hoá đơn order_details Bảng chứa danh sách chi tiết hoá đơn carts Bảng chứa danh sách giỏ hàng của khách cart_details Bảng chứa danh sách chi tiết giỏ hàng của khách wishlists Bảng chứa danh sách yêu thích của khách wishlist_details Bảng chứa danh sách chi tiết yêu thích của khách reviews Bảng chứa danh sách review của món ăn IV. Kiến trúc REST API 1.

Mô hình kiến trúc 2. Đặc tả kiến trúc Rest API là một ứng dụng được dùng để chuyển đổi cấu trúc của dữ liệu có những phương thức giúp kết nối với các thư viện và ứng dụng khác nhau. Rest Api thường không được xem là công nghệ, mà nó là giải pháp giúp tạo ra những ứng dụng web services chuyên dụng để thay thế cho nhiều kiểu khác như: SOAP, WSDL,… API là từ viết tắt của cụm từ Application Programming Interface, đây là tập hợp những quy tắc và cơ chế mà theo đó thì: Một ứng dụng hoặc một thành phần nào đó sẽ tương tác với một ứng dụng hoặc một số thành phần khác. API có thể sẽ được trả về dữ liệu mà người dùng cần cho chính ứng dụng của bạn với những kiểu dữ liệu được dùng phổ biến như JSON hoặc XML.

Rest là từ viết tắt của Representational State Transfer: Nó là một trong những dạng chuyển đổi cấu trúc, với kiểu kiến trúc thường được viết API. Rest thường sử dụng dụng phương thức HTTP đơn giản để có thể tạo ra giao tiếp giữa các máy.Bởi vì thế, thay vì phải sử dụng một URL cho việc xử lý một số thông tin của người dùng thì Rest sẽ yêu cầu HTTP như: GET, POST, DELETE,. đến với bất kỳ một URL để được xử lý dữ liệu. Kiến trúc MVC Mô hình MVC là mô hình gồm 3 lớp: Model, View, Controller.

Cụ thể như sau: Model: Lớp này chịu trách nhiệm quản lí dữ liệu: giao tiếp với cơ sở dữ liệu, chịu trách nhiệm lưu trữ hoặc truy vấn dữ liệu. View: Lớp này chính là giao diện của ứng dụng, chịu trách nhiệm biểu diễn dữ liệu của ứng dụng thành các dạng nhìn thấy được. Controller: Lớp này đóng vai trò quản lí và điều phối luồng hoạt động của ứng dụng. Tầng này sẽ nhận request từ client, điều phối các Model và View để có thể cho ra output thích hợp và trả kết quả về cho người dùng.

Cấu trúc MVVM trong Android/ iOS View: Tương tự như trong mô hình MVC, View là phần giao diện của ứng dụng để hiển thị dữ liệu và nhận tương tác của người dùng. Một điểm khác biệt so với các ứng dụng truyền thống là View trong mô hình này tích cực hơn. Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng binding, command. Model: Cũng tương tự như trong mô hình MVC.

Model là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự. ViewModel: Lớp trung gian giữa View và Model. ViewModel có thể được xem là thành phần thay thế cho Controller trong mô hình MVC. Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.

ViewModel không hề biết gì về View, một ViewModel có thể được sử dụng cho nhiều View (one-to-many). ViewModel sử dụng Observer design pattern để liên lạc với View (thường được gọi là binding data, có thể là 1 chiều hoặc 2 chiều tùy nhu cầu ứng dụng). Chính đặc điểm này MVVM thường được phối hợp với các thư viện hỗ trợ Reactive Programming hay Event/Data Stream, đây là triết lý lập trình hiện đại và hiệu quả phát triển rất mạnh trong những năm gần đây. MÔI TRƯỜNG MÁY CHỦ WEB SERVER Expressjs là một framework được xây dựng trên nền tảng của Nodejs.

Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile. Expressjs hỗ trợ các method HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng. Nodejs là một nền tảng sử dụng Javascript để xây dựng các ứng dụng I/O hướng sự kiện phía máy chủ. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

Reactjs là một thư viện JavaScript hỗ trợ cả front-end và server. Hơn nữa, nó có thể được sử dụng để tạo UI cho các ứng dụng và trang web dành cho thiết bị di động. React Native là một framework mã nguồn mở được sáng tạo bởi Facebook. Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc.

CÁC CLIENT, APPLICATION TRUY CẬP API I. Ứng dụng web user - Giao diện trang chủ Đây là giao diện đầu tiên người dùng nhìn thấy khi truy cập trang web, bao gồm các tính năng cơ bản bao gồm: đăng nhập, đăng ký, lấy lại mật khẩu - Giao diện đăng nhập - Giao diện đổi mật khẩu - Giao diện quên mật khẩu - Giao diện đăng ký - Giao diện thực đơn: có thể nhấp vào icon trái tim để thêm hoặc xoá khỏi danh sách yêu thích, khách hàng muốn thêm món vào trong giỏ thì bấm vào icon giỏ hàng - Giao diện lịch sử đơn hàng - Giao diện chi tiết đơn hàng: ở đây khách hàng không thể huỷ đơn khi đơn hàng đã được xác nhận Khách hàng có thể huỷ đơn khi đơn chưa được nhân viên xác nhận, khách hàng có thể vote sao và comment khi đơn hàng đã được xác nhận và chưa đánh giá - Thông tin user và giao diện đăng xuất - Giao diện giỏ hàng: có thể chỉnh sửa số lượng hoặc xoá item có trong giỏ hàng - Giao diện giỏ hàng cho khách hàng xem nhanh - Giao diện chọn phương thức thanh toán bao gồm: Ví điện tử, Thẻ ghi nợ, Thanh toán khi nhận hàng, khách hàng cũng có thể ghi chú thêm để nhắc nhở một số thứ khi đặt món - Giao diện danh sách yêu thích của khách hàng - Giao diện chi tiết về một món ăn: có thể tuỳ chọn số lượng cụ thể để thêm vào giỏ hàng nếu không thì số lượng mặc định là 1 II. Ứng dụng web admin - Giao diện đăng nhập - Giao diện quản lý món ăn - Giao diện đơn hàng - Giao diện chi tiết đơn hàng - Giao diện thêm mới thức ăn III. Ứng dụng mobile - Giao diện bắt đầu + Đây là màn hình hiển thị chào khách hàng.

Bấm vào nút “Bắt đầu” để bước vào màn hình trang chủ - Giao diện trang chủ + Đăng nhập: người dùng bấm vào nút “Đăng nhập” để đi đến màn hình đăng nhập + Thanh tìm kiếm: Người dùng có thể tìm kiếm sản phẩm trên thanh này. + ActionBar: Người dùng ấn chọn 1 tab trên actionBar. Hệ thống sẽ hiện thị sản phẩm theo tab người dùng đã chọn. Layout thiết kế dạng slider.

+ Banner quảng cáo + Người dùng có thể thêm sản phẩm vào giỏ hàng thông qua biểu tượng giỏ hàng của sản phẩm + Bấm vào sản phẩm ta sẽ được chuyển tới trang chi tiết sản phẩm + Danh sách sản phẩm sẽ load dạng Lazy và Infinite Scroll (khi lướt đến cuối màn hình sản phẩm sẽ hiển thị thêm - Giao diện đăng nhập + Màn hình cho người dùng đăng nhập vào hệ thống với tài khoản và mật khẩu + Người dùng có thể chọn “Quên mật khẩu” để đi đến trang quên mật khẩu + Người dùng có thể chọn “Tới đăng ký” để đi đến trang đăng ký - Giao diện đăng ký + Người dùng có thể đăng ký tài khoản ở màn hình này + Tất cả các trường là bắt buộc. Sau khi nhập đầy đủ thông tin bấm nút “Xác nhận đăng ký” để đăng ký tài khoản - Giao diện quên mật khẩu + Người dùng nhập tên tài khoản muốn lấy lại mật khẩu + Sau khi nhập tài khoản bấm nút “Tiếp theo”.

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