Bối cảnh và vấn đề nghiên cứu

Ẩm thực Việt Nam sở hữu nét đặc trưng phong phú, đa dạng với nhiều món ăn đặc sản nổi tiếng nhưng mức độ tiếp cận của du khách quốc tế đối với văn hóa ẩm thực truyền thống vẫn còn nhiều hạn chế. Xuất phát từ thực tiễn Việt Nam là điểm đến du lịch thu hút hàng triệu lượt khách quốc tế mỗi năm, việc ứng dụng công nghệ thông tin và truyền thông di động để quảng bá các giá trị văn hóa ẩm thực trở thành một nhu cầu thiết thực. Bên cạnh đó, sự phát triển mạnh mẽ của các thiết bị thông minh (điện thoại, máy tính bảng) cùng nền tảng phát triển ứng dụng đa nền tảng đặt ra yêu cầu xây dựng các giải pháp phần mềm vừa giới thiệu văn hóa ẩm thực, vừa có khả năng mở rộng để phục vụ hoạt động quản lý, vận hành trong lĩnh vực dịch vụ ăn uống.

Đồ án tốt nghiệp của tác giả Hoàng Văn Đạt (Chuyên ngành Kỹ thuật Tin học và Máy tính, Trường Quốc tế – Đại học Quốc gia Hà Nội) tập trung giải quyết các nhiệm vụ và mục tiêu nghiên cứu cụ thể:

  1. Mục tiêu giới thiệu và quảng bá ẩm thực: Cung cấp cho người dùng quốc tế hệ thống thông tin chi tiết về các món ăn Việt Nam bao gồm tên gọi, nguyên liệu, quy trình chế biến, hình ảnh trực quan, ý nghĩa văn hóa, địa điểm thưởng thức cùng các lễ hội và phong tục ẩm thực truyền thống.
  2. Mục tiêu kỹ thuật và phát triển phần mềm: Nghiên cứu và áp dụng tư duy thiết kế phần mềm hướng module (modular design) trên nền tảng React Native nhằm xây dựng một ứng dụng di động hoàn chỉnh cho người dùng cuối, đồng thời tạo tiền đề để module hóa và tích hợp vào các hệ thống quản lý thực đơn, đơn hàng và thanh toán của nhà hàng.

Đối tượng nghiên cứu của đề tài là kiến trúc và quy trình phát triển ứng dụng di động đa nền tảng (iOS và Android) bằng React Native, kết hợp các giải pháp quản lý trạng thái tập trung và dịch vụ cơ sở dữ liệu đám mây. Phạm vi thực hiện của đồ án tập trung vào phân hệ dành cho người dùng (user system), bao gồm các chức năng xác thực tài khoản, tra cứu danh mục, tìm kiếm và xem chi tiết công thức nấu ăn.


Cơ sở lý thuyết và phương pháp

Đồ án xây dựng dựa trên nền tảng lý thuyết phát triển phần mềm di động hiện đại và mô hình phân tích thiết kế hệ thống:

  • Mô hình luồng dữ liệu một chiều (Unidirectional Data Flow): Ứng dụng thư viện Redux để quản lý trạng thái tập trung (global state). Luồng hoạt động dựa trên ba thành phần cốt lõi: Action (đối tượng mang thuộc tính type và payload mô tả sự kiện thay đổi dữ liệu), Reducer (hàm thuần túy xử lý trạng thái hiện tại cùng action để trả về trạng thái mới) và Store (nơi lưu trữ duy nhất toàn bộ trạng thái của ứng dụng).
  • Mô hình điều hướng phân cấp (Tree-based Navigation): Ứng dụng React Navigation với kiến trúc dạng cây, trong đó mỗi màn hình là một nút (node). Hệ thống phân tách rõ các kiểu điều hướng chuyên biệt gồm Stack Navigator (điều hướng tuyến tính dạng ngăn xếp), Tab Navigator (chuyển đổi qua lại giữa các màn hình bằng thanh tab) và Drawer Navigator (ngăn kéo điều hướng).
  • Khái niệm kiến trúc giao tiếp API: Phân tích vai trò của Application Programming Interface (API) trong việc phân tách tầng giao diện người dùng và tầng lưu trữ dữ liệu, bảo đảm tính độc lập nền tảng, tính bảo mật và khả năng mở rộng hệ thống.
  • Phương pháp phân tích và thiết kế phần mềm: Tác giả sử dụng phương pháp phân tích yêu cầu nghiệp vụ, mô hình hóa tương tác người dùng thông qua biểu đồ Use Case (Use Case Diagram), thiết kế luồng xử lý từ bước khởi tạo, xác thực người dùng đến các thao tác tương tác dữ liệu.
  • Nguồn dữ liệu: Nguồn dữ liệu phục vụ ứng dụng bao gồm thông tin văn hóa ẩm thực, danh sách món ăn, nhóm nguyên liệu, các bước hướng dẫn nấu ăn và tài nguyên đa phương tiện (hình ảnh, biểu tượng giao diện) được chuẩn hóa và lưu trữ trên hệ thống cơ sở dữ liệu.

Thiết kế và triển khai

Kiến trúc công nghệ (Tech Stack)

Hệ thống được xây dựng dựa trên sự kết hợp của các công nghệ phần mềm di động:

Thành phần Công nghệ / Thư viện sử dụng Vai trò trong hệ thống
Framework chính React Native Phát triển ứng dụng di động đa nền tảng (iOS & Android) từ một cơ sở mã nguồn (single codebase).
Nền tảng hỗ trợ Expo & Expo CLI Hỗ trợ khởi tạo nhanh, chạy thử trực tiếp (Live Reload, Live Testing qua Expo Go), quản lý cấu hình và phát hành bản cập nhật OTA.
Ngôn ngữ lập trình JavaScript Thực thi logic phía máy khách, xử lý bất đồng bộ, thao tác với DOM và cấu trúc dữ liệu.
Môi trường phát triển Visual Studio Code Viết mã nguồn, gỡ lỗi, quản lý tệp phân cấp (Hierarchical Data Management) và tích hợp Git/Terminal.
Quản lý trạng thái Redux & Redux-Thunk Quản lý trạng thái ứng dụng tập trung, kiểm soát side-effects khi gọi dữ liệu bất đồng bộ.
Điều hướng React Navigation Điều hướng phân cấp, xử lý chuyển cảnh màn hình, cấu hình thanh tiêu đề (useLayoutEffect).
Dịch vụ dữ liệu & Xác thực Firebase, Expo Facebook, Google Sign-In Xác thực tài khoản người dùng, quản lý phiên đăng nhập và lưu trữ thông tin hệ thống.

Kế hoạch thực hiện đề tài

Quá trình nghiên cứu và phát triển phần mềm được phân bổ theo 6 giai đoạn cụ thể:

Tuần Thời gian Nhiệm vụ thực hiện Mục tiêu cần đạt
Tuần 1 01/11/2023 – 07/11/2023 Làm việc với cán bộ hướng dẫn; nghiên cứu đề tài; thu thập tài liệu hình ảnh, video về ẩm thực. Xác định phạm vi đồ án; định hình kế hoạch nghiên cứu; hoàn thành thu thập dữ liệu sơ bộ.
Tuần 2 08/11/2023 – 14/12/2023 Thiết lập môi trường phát triển; xây dựng cấu trúc cơ sở dữ liệu (schema); phát triển các API truy cập dữ liệu. Hoàn thiện môi trường code; thiết lập database lưu trữ món ăn; hoàn thành hệ thống API truy xuất.
Tuần 3 15/12/2023 – 21/12/2023 Thiết kế giao diện người dùng (UI); phát triển tầng giao diện (frontend); tích hợp chức năng tìm kiếm. Xây dựng giao diện cơ bản; hiện thực hóa luồng tìm kiếm và lọc dữ liệu.
Tuần 4 22/12/2023 – 28/12/2023 Triển khai các màn hình hiển thị thông tin; phát triển chức năng đánh giá (rating); kiểm thử phần mềm. Hoàn thành các màn hình chi tiết món ăn; tích hợp cơ chế đánh giá; kiểm tra lỗi cơ bản.
Tuần 5 29/12/2023 – 05/01/2024 Khắc phục lỗi phát sinh; tối ưu trải nghiệm người dùng; kiểm thử trên thiết bị thực tế; chuẩn bị đóng gói. Ứng dụng vận hành ổn định trên thiết bị thật; hoàn tất sửa lỗi và chuẩn bị phát hành.
Tuần 6 06/01/2024 – Hiện tại Lập kế hoạch quảng bá ứng dụng; tiếp nhận phản hồi từ người dùng. Thu thập đánh giá từ người dùng thực tế nhằm định hướng hoàn thiện.

Luồng nghiệp vụ và phân tích chi tiết màn hình

Luồng Use Case tổng thể của người dùng được mô hình hóa theo quy trình:

  1. Khởi động ứng dụng (Begin): Người dùng mở ứng dụng di động.
  2. Xác thực tài khoản (Login Page): Nếu chưa đăng nhập, người dùng nhập tài khoản/mật khẩu hoặc sử dụng phương thức đăng nhập mạng xã hội.
  3. Trang chủ (Home Page): Hiển thị tổng quan các món ăn mới nhất và các món ăn phổ biến.
  4. Danh mục (Category): Người dùng truy cập danh sách phân loại ẩm thực (như Fast Food, Main Course, Dessert) và xem danh sách món ăn thuộc từng phân loại.
  5. Tìm kiếm (Search): Nhập từ khóa để truy vấn các món ăn liên quan.
  6. Chi tiết món ăn (View Food Details): Xem hình ảnh, mô tả, nguyên liệu chi tiết, các bước chế biến và đánh giá từ cộng đồng.
  7. Kết thúc (End): Người dùng quay về trang chủ, chuyển phân mục hoặc thực hiện đăng xuất tài khoản.

Chi tiết triển khai kỹ thuật tại các màn hình:

  • Màn hình Đăng ký (Registration Page):
    • Thành phần giao diện: Sử dụng các React Native Component cơ bản như View, Text, Image, Pressable, TextInput và TouchableOpacity. Sử dụng SafeAreaView để bảo đảm nội dung hiển thị không bị che khuất bởi thanh trạng thái hay thanh điều hướng của thiết bị.
    • Quản lý trạng thái & Xử lý sự kiện: Sử dụng React Hook useState để kiểm soát dữ liệu nhập liệu của các trường Email, Số điện thoại (Phone Number) và Mật khẩu (Password). Sử dụng expo-checkbox để người dùng xác nhận điều khoản dịch vụ.
    • Biểu tượng & Giao diện: Sử dụng thư viện icon để tạo nút ẩn/hiện mật khẩu và các nút liên kết đăng nhập bằng mạng xã hội; định kiểu hiển thị thông qua StyleSheet.
  • Màn hình Đăng nhập (Login Page):
    • Xác thực mạng xã hội: Tích hợp thư viện Facebook.useAuthRequest và WebBrowser để xử lý quy trình xác thực OAuth qua Facebook.
    • Xử lý dữ liệu: Sử dụng Hook useEffect để theo dõi phản hồi sau khi người dùng xác thực, kết nối API lấy thông tin người dùng và chuyển giao cho FacebookAuthProvider. Hỗ trợ luồng Google Sign-In qua hàm xử lý bất đồng bộ handlePressAsync.
  • Màn hình Trang chủ (Home Screen):
    • Hiển thị danh sách: Sử dụng FlatList để kết xuất danh sách công thức từ mảng dữ liệu recipes. Từng mục được bọc trong TouchableHighlight kết hợp hàm renderRecipes nhằm hiển thị hình ảnh món ăn, tiêu đề và phân loại.
    • Cấu hình thanh tiêu đề: Sử dụng Hook useLayoutEffect để gán thuộc tính headerLeft chứa MenuImage (nút mở menu điều hướng) và headerRight chứa <View /> rỗng nhằm căn chỉnh bố cục thanh điều hướng.
    • Điều hướng sự kiện: Bắt sự kiện bấm vào từng mục qua hàm onPressRecipe để chuyển hướng sang màn hình chi tiết món ăn ("Recipe") kèm tham số dữ liệu.
  • Màn hình Chi tiết Món ăn (Product Details Screen):
    • Tiếp nhận tham số: Sử dụng useLayoutEffect và setOptions để thiết lập tiêu đề màn hình động dựa trên thông tin truyền qua route.params.
    • Hiển thị nguyên liệu: Kết xuất danh sách nguyên liệu từ mảng ingredientsArray qua FlatList và hàm renderIngredient, hiển thị ảnh minh họa, tên nguyên liệu và mô tả công dụng.
    • Tương tác chi tiết nguyên liệu: Bắt sự kiện chạm qua hàm onPressIngredient để điều hướng sâu sang màn hình thông tin chi tiết của từng nguyên liệu cụ thể ("Ingredient").
  • Màn hình Tìm kiếm (Search Product Screen):
    • Cung cấp thanh tìm kiếm trực quan cho phép người dùng truy vấn theo tên món ăn hoặc từ khóa nguyên liệu, hiển thị kết quả lọc dạng danh sách tức thời.

Nội dung chính theo từng chương

I. Acknowledgement and Commitment

Chương mở đầu ghi nhận sự hướng dẫn học thuật của PGS.TS. Nguyễn Thanh Tùng trong việc định hướng nghiên cứu, lựa chọn công nghệ, giải quyết các khó khăn trong hiện thực hóa thuật toán và hoàn thiện báo cáo tốt nghiệp. Đồng thời, tác giả đưa ra cam kết học thuật về tính liêm chính, quyền tác giả độc lập và tuân thủ các chuẩn mực đạo đức nghiên cứu, không sao chép thông tin trái quy định.

II. Purpose of the Project

Trình bày hai mục đích trọng tâm của đồ án:

  1. Giới thiệu nét đẹp ẩm thực và văn hóa truyền thống Việt Nam đến bạn bè quốc tế.
  2. Ứng dụng tư duy phát triển phần mềm module hóa (modular development) trên nền tảng web/mobile, hướng đến khả năng tích hợp và mở rộng thành hệ thống quản lý cho nhà hàng (quản lý thực đơn, đơn hàng, hóa đơn).

III. Overview of the Topic

Phân tích lý do lựa chọn đề tài dựa trên tiềm năng du lịch của Việt Nam, tính phổ biến của thiết bị di động và ưu thế của framework React Native trong việc phát triển ứng dụng di động cho cả hai hệ điều hành iOS và Android. Xác định phạm vi nội dung bao gồm thông tin chi tiết món ăn, giá trị văn hóa ẩm thực và định hướng tích hợp các tính năng mở rộng trong tương lai như đặt món trực tuyến, thanh toán điện tử và đánh giá nhà hàng.

IV. Weekly Plan of the Graduation

Trình bày lộ trình 6 tuần thực hiện đồ án từ ngày 01/11/2023 đến tháng 01/2024. Kế hoạch xác định rõ các mốc công việc: từ nghiên cứu lý thuyết, thu thập tài liệu, thiết kế cơ sở dữ liệu, viết API, xây dựng giao diện frontend, kiểm thử trên thiết bị thực tế cho đến bước thu thập ý kiến phản hồi của người dùng.

V. Programming Knowledge to Build Projects

Tổng hợp và hệ thống hóa toàn bộ nền tảng lý thuyết và công nghệ được áp dụng trong quá trình xây dựng dự án:

  • API (Application Programming Interface): Khái niệm, cơ chế trao đổi dữ liệu giữa các hệ thống phần mềm, lý do sử dụng API RESTful thay vì các giao thức khác nhằm tăng tính bảo mật, hiệu năng và khả năng mở rộng.
  • Expo Platform: Bộ công cụ hỗ trợ phát triển React Native, các tính năng Live Reload, Live Testing qua Expo Go, Managed Hosting và cơ chế cập nhật không dây (Over-the-air updates).
  • Visual Studio Code: Các tính năng hỗ trợ lập trình như IntelliSense, tích hợp Terminal, quản lý mã nguồn Git, quản lý dữ liệu tệp tin phân cấp và kho tiện ích mở rộng phong phú.
  • Redux Library: Cơ chế quản lý trạng thái tập trung với mô hình luồng dữ liệu một chiều, phân tích chi tiết vai trò của Action (type, payload), Reducer và Store trong ứng dụng React Native.
  • JavaScript: Vai trò của JavaScript trong lập trình phía máy khách (Client-side), xử lý bất đồng bộ (Asynchronous Programming), thao tác DOM và khả năng chạy đa nền tảng.
  • React Navigation: Kiến trúc điều hướng phân cấp dạng cây, phân loại và cơ chế hoạt động của các bộ điều hướng Stack Navigator, Tab Navigator, Drawer Navigator.
  • Firebase & Cơ sở dữ liệu: Vai trò của hệ thống cơ sở dữ liệu trong việc lưu trữ dữ liệu ứng dụng React Native, so sánh giải pháp cơ sở dữ liệu quan hệ/NoSQL và cấu hình kết nối thông qua React Native Firebase.

VI. Analyzing Each Component of the Project in Detail

Phân tích sâu cấu trúc kỹ thuật và mã nguồn triển khai thực tế trên từng màn hình chức năng:

  • Mô tả biểu đồ Use Case và quy trình thao tác từ đăng nhập, trang chủ, chọn danh mục, tìm kiếm đến xem chi tiết món ăn.
  • Chi tiết kỹ thuật lập trình màn hình Đăng ký (TextInput, expo-checkbox, useState, SafeAreaView).
  • Chi tiết kỹ thuật lập trình màn hình Đăng nhập (tích hợp xác thực qua Facebook Auth và Google Sign-In).
  • Chi tiết kỹ thuật lập trình màn hình Trang chủ (sử dụng FlatList, TouchableHighlight, useLayoutEffect).
  • Chi tiết kỹ thuật lập trình màn hình Chi tiết sản phẩm (FlatList hiển thị danh sách nguyên liệu, truyền nhận tham số qua route.params và useLayoutEffect).
  • Mô tả màn hình Tìm kiếm sản phẩm phục vụ tra cứu thông tin theo từ khóa.

Kết quả và đóng góp

Kết quả chính

  • Đồ án đã hiện thực hóa thành công ứng dụng di động "Vietnamese Food Safari" chạy trên nền tảng React Native, hỗ trợ đồng thời hai hệ điều hành iOS và Android.
  • Xây dựng hoàn chỉnh chuỗi màn hình chức năng dành cho người dùng cuối bao gồm: Đăng ký tài khoản mới, Đăng nhập (hỗ trợ tài khoản thông thường và đăng nhập qua mạng xã hội Facebook, Google), Trang chủ hiển thị danh sách món ăn, Màn hình danh mục ẩm thực, Màn hình tra cứu/tìm kiếm và Màn hình chi tiết công thức nấu ăn cùng thành phần nguyên liệu.
  • Thiết lập kiến trúc mã nguồn rõ ràng, tận dụng khả năng quản lý trạng thái tập trung của Redux và cơ chế điều hướng linh hoạt của React Navigation.

Giải pháp và đóng góp của đề tài

  • Về mặt thực tiễn: Ứng dụng cung cấp một kênh thông tin trực quan, sinh động giúp người dùng quốc tế dễ dàng tiếp cận và tìm hiểu về các món ăn truyền thống, nguyên liệu đặc trưng và văn hóa ẩm thực Việt Nam.
  • Về mặt kỹ thuật: Đề xuất và áp dụng giải pháp phát triển phần mềm theo hướng module hóa trên nền tảng React Native kết hợp Expo, giúp tối ưu hóa chi phí và thời gian phát triển thông qua việc tái sử dụng mã nguồn (single codebase) cho cả hai nền tảng di động phổ biến. Tạo nền tảng kỹ thuật để có thể tích hợp thêm các phân hệ thương mại điện tử và quản lý nhà hàng trong tương lai.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế của đồ án:

    • Đề tài mới chỉ tập trung triển khai phân hệ phía người dùng (user system), chưa hoàn thiện hệ thống quản trị dành riêng cho nhà hàng (quản lý đơn hàng, quản lý doanh thu, cập nhật thực đơn phía đối tác).
    • Việc sử dụng nền tảng Expo đem lại sự tiện lợi trong quá trình khởi tạo và kiểm thử nhưng còn gặp một số hạn chế nhất định về khả năng tùy biến sâu và truy cập vào một số tính năng phần cứng cấp thấp (low-level device features).
    • Hệ thống giao tiếp thời gian thực bằng Socket để cập nhật trạng thái đơn hàng hoặc tương tác trực tiếp chưa được triển khai hoàn chỉnh trong giai đoạn này.
  • Hướng phát triển tiếp theo:

    • Chức năng đặt món trực tuyến (Online Ordering): Cho phép người dùng đặt món trực tiếp từ các nhà hàng liên kết ngay trên giao diện ứng dụng.
    • Chức năng thanh toán trực tuyến (Online Payment): Tích hợp cổng thanh toán điện tử giúp người dùng xử lý hóa đơn nhanh chóng khi đặt hàng.
    • Chức năng đánh giá nhà hàng (Restaurant Review): Xây dựng hệ thống cho phép người dùng chấm điểm và để lại nhận xét chi tiết về chất lượng dịch vụ của các nhà hàng.
    • Nâng cấp hạ tầng truyền thông: Cải tiến cơ chế truyền tải dữ liệu, tích hợp giao thức Web Socket để tăng cường khả năng giao tiếp thời gian thực cho ứng dụng.

Giá trị tham khảo

Báo cáo tốt nghiệp mang lại giá trị tham khảo hữu ích cho các nhóm đối tượng cụ thể:

  • Sinh viên chuyên ngành Kỹ thuật Tin học, Công nghệ Thông tin, Kỹ thuật Phần mềm: Tài liệu cung cấp quy trình bài bản từ khâu phân tích Use Case, lập kế hoạch thực hiện theo tuần đến việc thiết kế và xây dựng một ứng dụng di động hoàn chỉnh bằng React Native.
  • Lập trình viên phát triển ứng dụng di động: Cung cấp hướng dẫn chi tiết và ví dụ mã nguồn thực tế về việc áp dụng React Navigation (cấu hình tiêu đề động với useLayoutEffect, kết hợp Stack/Tab), kỹ thuật hiển thị danh sách tối ưu bằng FlatList, cùng phương thức tích hợp xác thực tài khoản qua bên thứ ba (Facebook, Google).
  • Người nghiên cứu các đề tài chuyển đổi số trong lĩnh vực ẩm thực/du lịch: Cung cấp mô hình tham khảo về cách cấu trúc dữ liệu món ăn, văn hóa ẩm thực và định hướng mở rộng hệ thống thành nền tảng quản lý nhà hàng theo tư duy thiết kế module hóa.

Câu hỏi thường gặp

1. Đồ án sử dụng công nghệ cốt lõi nào để phát triển ứng dụng di động đa nền tảng?
Đồ án sử dụng framework React Native kết hợp với nền tảng Expo và ngôn ngữ lập trình JavaScript. Sự kết hợp này cho phép lập trình viên tái sử dụng mã nguồn để xây dựng ứng dụng chạy đồng thời trên cả hai hệ điều hành iOS và Android, giúp tiết kiệm chi phí và rút ngắn thời gian phát triển phần mềm.

2. Thư viện Redux đóng vai trò gì trong kiến trúc của ứng dụng?
Redux đóng vai trò quản lý trạng thái tập trung (global state) của toàn bộ ứng dụng theo mô hình luồng dữ liệu một chiều (unidirectional data flow). Redux giúp tập trung hóa dữ liệu vào một Store duy nhất, kiểm soát các thay đổi trạng thái thông qua Action và Reducer, từ đó giảm sự phụ thuộc giữa các component, nâng cao hiệu năng và giúp quá trình gỡ lỗi (debugging) trở nên dễ dàng, nhất quán.

3. Màn hình Đăng nhập (Login Page) của ứng dụng hỗ trợ những phương thức xác thực nào?
Bên cạnh phương thức đăng nhập thông thường bằng tài khoản và mật khẩu, màn hình Đăng nhập được tích hợp các cơ chế xác thực nâng cao qua mạng xã hội bao gồm Facebook Authentication (sử dụng thư viện Facebook.useAuthRequest, WebBrowser và FacebookAuthProvider) cùng tính năng đăng nhập bằng tài khoản Google (Google Sign-In).

4. Kỹ thuật hiển thị dữ liệu danh sách tại Màn hình Trang chủ và Màn hình Chi tiết món ăn được triển khai như thế nào?
Ứng dụng sử dụng thành phần FlatList của React Native để kết xuất danh sách món ăn (recipes) trên Trang chủ và danh sách thành phần nguyên liệu (ingredientsArray) trên Màn hình Chi tiết. Mỗi phần tử trong danh sách được bọc trong TouchableHighlight để bắt sự kiện tương tác của người dùng, kết hợp các hàm render chuyên biệt (renderRecipes, renderIngredient) và Hook useLayoutEffect để đồng bộ cấu hình thanh điều hướng.

5. Trong tương lai, ứng dụng "Vietnamese Food Safari" dự kiến bổ sung những chức năng chính nào?
Theo định hướng phát triển của tác giả, ứng dụng sẽ bổ sung 3 nhóm tính năng lớn bao gồm: chức năng đặt món trực tuyến (Online Ordering), chức năng thanh toán hóa đơn điện tử (Online Payment) và chức năng đánh giá/chấm điểm nhà hàng (Restaurant Review), đồng thời nâng cấp giao tiếp dữ liệu bằng Web Socket.


Kết luận

Báo cáo tốt nghiệp "Recipe App React Native (Vietnamese Food Safari: Unveil The Tastest Of Viet Nam)" của sinh viên Hoàng Văn Đạt đã giải quyết thành công bài toán xây dựng ứng dụng di động quảng bá văn hóa ẩm thực Việt Nam trên nền tảng React Native và Expo. Đồ án thể hiện sự kết hợp chặt chẽ giữa phân tích nghiệp vụ, thiết kế Use Case và hiện thực hóa kỹ thuật qua việc tích hợp Redux, React Navigation cùng các dịch vụ cơ sở dữ liệu đám mây. Hệ thống không chỉ đáp ứng đầy đủ các chức năng tra cứu, xem công thức và xác thực người dùng mà còn định hình kiến trúc module hóa làm cơ sở mở rộng cho các dịch vụ quản lý nhà hàng và thương mại điện tử trong tương lai.