Ngành ẩm thực ngày càng phát triển, các món ăn trở lên phong phú đa dang, khi đócon người sẽ có nhiều lựa chọn hơn, cùng với đam mê ẩm thực của con người, việctìm kiếm những món ngon, tr
Tìm Hiểu
Tổng quan về website Quảng bá ẩm thực Hải Phòng
Hệ thống 39hz vừa ra mắt website mới, giúp người dùng khám phá ẩm thực phong phú tại thành phố Hải Phòng Trang web cung cấp thông tin về nhiều loại món ăn, bao gồm ẩm thực đồng quê, hải sản, đồ uống và món ăn nhanh, cùng với địa chỉ cụ thể của các địa điểm ẩm thực.
39hz hoạt động với phương châm “Cập nhật nhanh chóng, đánh giá sát sao, trải nghiệm tuyệt vời”, mang đến cho bạn thông tin mới nhất về các món ăn ngon với mức giá ưu đãi từ những thương hiệu nổi tiếng Đội ngũ nhân viên chăm sóc khách hàng của chúng tôi luôn sẵn sàng cung cấp dịch vụ tận tình và chu đáo, đảm bảo trải nghiệm của bạn trở nên hoàn hảo.
Với sự phát triển của công nghệ và tình hình dịch bệnh phức tạp, nhu cầu tìm kiếm đồ ăn nhanh với tiêu chí “Ngon, bổ, rẻ” ngày càng tăng cao Hệ thống 39hz đã chuyển mình theo hướng online, cho phép khách hàng dễ dàng tìm kiếm và đặt món ăn yêu thích ngay tại nhà Hệ thống sẽ kết nối với các nhà hàng trong khu vực thành phố và nhân viên giao hàng sẽ mang đến tận nơi cho khách hàng.
Đánh giá tình hình hiện nay
Xây dựng hệ thống website còn gặp nhiều rất nhiều khó khăn và thách thức
Để phát triển 39hz, việc nâng cao nhận thức về website là rất quan trọng trong chiến lược marketing trực tuyến Khi ngày càng nhiều người biết đến thương hiệu, mức độ tin tưởng và số lượng đơn hàng sẽ tăng lên, tạo điều kiện cho sự phát triển bền vững.
Quảng bá ẩm thực qua hệ thống 39hz giúp người dùng khám phá các món ăn thông qua những đánh giá từ những thực khách đã trải nghiệm trước đó, từ đó đưa ra những lựa chọn phù hợp nhất cho khách hàng.
Giao diện website là ấn tượng đầu tiên của khách hàng khi truy cập trang web, vì vậy cần thiết kế một giao diện thu hút, bố trí hợp lý và hài hòa về màu sắc Điều này không chỉ giúp nâng cao trải nghiệm người dùng mà còn đảm bảo các chức năng cơ bản của website quảng bá ẩm thực, từ đó tạo cảm giác tích cực cho khách hàng đối với hệ thống của 39hz.
Để xây dựng một hệ thống trực tuyến hiệu quả, bước đầu tiên là đầu tư vào một server mạnh mẽ với dung lượng lưu trữ đủ lớn để đáp ứng nhu cầu của người dùng Quyết định đầu tư này cần được cân nhắc kỹ lưỡng nhằm đảm bảo chi phí hợp lý và hiệu quả trong việc phục vụ người dùng.
Giải pháp khắc phục
Marketing: Đẩy mạnh việc quảng cáo, quảng cáo đúng, chính xác, chất lượng về những gì 39hz đã và đang có và sau này sẽ có.
Giới thiệu sản phẩm: Quay video, cung cấp hình ảnh cho khách hàng để khách hình dung chi tiết nhất về những gì 39hz có
Giao diện website cần được thiết kế linh hoạt, dựa trên nhu cầu của người dùng, với nội dung quan trọng nhất được ưu tiên hiển thị ở vị trí đầu tiên và có khả năng thay đổi dễ dàng khi cần thiết.
Quản lý và thống kê là yếu tố quan trọng trong việc thiết kế hệ thống, cần được thực hiện một cách chặt chẽ và liên kết hợp lý Điều này đảm bảo rằng mọi thông tin được thống kê đầy đủ và chính xác, không có sai lệch.
Quy trình hoạt động
1 Hệ thống cung cấp hình ảnh các ẩm thực cho người dùng biết đến.
2 Người dùng truy cập vào trang web tìm kiểm ẩm thực mình muốn.
3 Thông qua hình ảnh trang web cung cấp người có quyền đánh giá, tham khảo các món món.
4 Hệ thống cung cấp cho người dùng địa chỉ quán, liên kết với các trang chủ website thương mại.
Phân tích
1 Xem thông tin món ăn Người xem có thể xem thông tin về món ăn: địa chỉ, tên món, giá tiền.
2 Nhắn tin Người xem có thể nhận tư vấn từ hộp thoại.
3 Tìm kiếm món ăn Người dùng có thể tìm kiếm theo tên, theo địa chỉ, theo giá cả.
4 Đánh giá Cho phép người dùng đánh giá, bình luận các sản phẩm, ẩm thực, dựa trên mức đánh giá 5 sao.
5 Đăng bài Cho phép người dùng chia sẻ hình ảnh về các món ăn đã từng trải nghiêm.
6 Thống kê Người xem có thể biết được số lượng đánh giá, số lần trải nghiêm ẩm thực thông qua thống kê bên hệ thống 39hz cung cấp.
7 Đăng kí Đăng kí trở thành thành viên của hệ thống
8 Đăng nhập Đăng nhập thành viên hay quản trị viên có thể truy cập vào các chức năng yêu cầu đăng nhập.
9 Chỉnh sửa thông tin người dùng Người dùng sau khi đăng nhập có thể thay đổi cập nhật thông tin cá nhân hoặc các thông tin khác.
10 Báo cáo Báo cáo bài đăng, tin đăng, người dùng, bình luận đánh giá,…
Phạm Gia Huy 89039 a) Sơ đồ phân cấp Frontend
1 Backend a) Chi tiết chức năng
STT Chức năng Mô tả
1 Quản lý người dùng Quản lý các tài khoản của người dung, khách hàng, nhân viên, quản trị viên.
2 Quản lý bài viết Quản lý các bài đăng do quản trị viên hoặc người dùng.
4 Quản lý món ăn Quản lý các thông tin về món ăn của 39hz cung cấp cho người dùng
Quản lý đánh giá là một yếu tố quan trọng trong việc duy trì uy tín của sản phẩm 39hz Chúng tôi cần lọc ra những đánh giá sai sự thật và vu khống, nhằm bảo vệ thương hiệu và hỗ trợ sự phát triển bền vững của 39hz Việc này không chỉ giúp cải thiện hình ảnh sản phẩm mà còn tạo niềm tin cho người tiêu dùng.
6 Quản lí Slide Quản lí các slide hiển thị về các món ăn, tạo dấu ấn, gợi ý cho người dùng
Quản lý logs là một phương pháp hiệu quả để theo dõi và ghi nhận các hoạt động của nhân viên và quản trị viên, bao gồm các hành động thêm, sửa, và xóa Việc này không chỉ giúp đảm bảo tính minh bạch trong quản lý mà còn tạo điều kiện thuận lợi cho việc kiểm tra và xử lý các vấn đề phát sinh trong tương lai.
8 Quản lí phản hồi Người dùng liên hệ, phản hổi trực tiếp với quản trị viên hoặc người dùng khác của website
9 Thống kê Hiển thị những thông số hàng ngày, hàng tuần, hàng tháng…, Hiển thị các biểu đồ,….
Phạm Gia Huy 89039 b) Sơ đồ phân cấp chức năng backend
Phạm Gia Huy 89039 a Sơ đồ ngữ cảnh
(1) Yêu cầu thông tin người dùng
(2)Yêu cầu thông tin bài viết
(4)Yêu cầu thông tin món ăn
(5)Yêu cầu thông tin slide
(6)Yêu cầu thông tin đánh giá
(8)Yêu cầu thông tin nhật kí
(10) Yêu cầu thông tin phản hồi
(20) Phản hồi của quản trị viên
(21) Yêu cầu dữ liệu người dùng
(23) Yêu cầu dữ liệu bài viết
(25) Yêu cầu dữ liệu món ăn
(27) Yêu cầu dữ liệu slide
(29) Yêu cầu dữ liệu đánh giá
(31) Yêu cầu dữ liệu nhật kí
(33) Yêu cầu dữ liệu phản hồi
3 Sơ đồ dưới đỉnh a) Quản lí người dùng
Quản lý tài khoản người dùng
(1): Yêu cầu thông tin tài khoản
(4): Yêu cầu thông tin tài khoản người dùng
(5): Thông tin tài khoản người dùng
(50) Quản lý thông tin người dùng
(1): Thông tin của người dùng
(3): Thông tin của người dùng
(4): Thông tin của người dùng
(51) Quản lý số lượng người dùng
(2): Thông tin người dùng b) Quản lí bài viết
Quản lý nội dung bài viết
Quản lý bình luận bài viết
(5): Dữ liệu bình luận c) Quản lý món ăn
Cập nhật thông tin về món ăn
(1): Thêm/Sửa/Xóa thông tin về món ăn
(4): Dữ liệu món ăn d) Quản lí slide
(2): Hình ảnh món ăn slide gợi ý
(4): Dữ liệu slide e) Quản lí đánh giá Đánh giá món ăn
(2): Nội dung, điểm đánh giá món ăn cảu người dùng khác
(4): Dữ liệu đánh giá của món ăn
(5): Thông tin đánh giá của người dùng
(6): Dữ liệu món ăn f) Quản lí nhật kí
Xem nhật ký hoạt động
(1): Thông tin các hoạt động
(9): Thông tin các hoạt động g) Thống kê
(1): Thông tin số liệu được thống kê
(2): Thông tin dữ liệu người dùng
(3): Thông tin dữ liệu bài viết
(4): Thông tin dữ liệu món ăn
(5): Thông tin dữ liệu slide
(6): Thông tin dữ liệu đánh giá
(7): Thông tin dữ liệu phản hồi
(8): Thông tin dữ liệu nhật ký h) Phản hồi
(1): Yêu cầu của người dùng
(4): Phản hồi của quản trị
4 Sơ đồ thực thể a) Bảng món ăn
Phạm Gia Huy 89039 b) Bảng hình ảnh
Phạm Gia Huy 89039 c) Bảng đường link d) Bảng nhật kí
Phạm Gia Huy 89039 e) Bảng phân quyền chức năng
Phạm Gia Huy 89039 f) Bảng đăng bài g) Bảng đánh giá
Phạm Gia Huy 89039 h) Bảng báo cáo đánh giá
Phạm Gia Huy 89039 i) Bảng Slide j) Bảng loại đồ ăn
Phạm Gia Huy 89039 k) Bảng người dùng
Phạm Gia Huy 89039 l) Bảng nhắn tin m)Bảng hộp thoại nhắn tin
6 Thiết kế bảng cơ sở dữ liệu a) Food ( Quản lí món ăn)
Phạm Gia Huy 89039 b) Image (Quản lí hình ảnh) c) Link (Quản lí đường link liên kết) d) Log (Quản lí nhật kí hoạt động trang website)
Phạm Gia Huy 89039 e) Permission (Quản lí phân quyền chức năng) f) Posts (Quản lí bài viết)
Phạm Gia Huy 89039 g) Rating (Quản lí đánh giá) h) Rating_Report ( Quản lí báo cáo đánh giá)
Phạm Gia Huy 89039 i) Slide (Quản lí slide) j) TypeFood (Quản lí loại món ăn) k) User (Quản lí người dùng)
Phạm Gia Huy 89039 l) Messenger m)ContainerMessenger
7 Liên kết các bảng cơ sở dữ liệu
Thiết kế hệ thống
Mô hình Client – Server là mô hình phổ biến của mạng máy tính được sử dụng rộng rãi hiện nay.
Mô hình Client – Server gồm 2 đối tượng chính là máy khách (Client) và máy chủ (Server).
Máy khách: là một máy tính cá nhân, được dùng để gửi các yêu cầu (Request) đến máy chủ và nhận lại kết quả.
Máy chủ: là một máy tính đặc biêt, có khả năng xử lý đa luồng cao, có khả năng lưu trữ lớn, phục vụ việc xử lý, lưu trữ,
Client gửi yêu cầu (Request).
Server trả về kết quả sau xử lý cho Client.
2 Ưu điểm và nhược điểm của cấu trúc Client – Server a) Ưu điểm
Có khả năng chống quá tải mạng.
Đảm bảo dữ liệu vẹn toàn khi sự cố xảy ra.
Dễ dàng mở hệ thống mạng.
Tiếp cận dễ dàng từ xa. b) Nhược điểm
Cần sự bảo trì, bảo dưỡng cả phần mềm và phần cứng thường xuyên.
Khả năng bảo mật thông tin còn hạn chế
II Ngôn ngữ viết chương trình
JavaScript HTML được dùng chủ yếu để thiết kế giao diện của website, với một số thẻ cơ bản như , , , ,
,
CSS (Cascading Style Sheets) là công cụ quan trọng để mô tả cách trình bày các tài liệu HTML và XHTML, giúp đơn giản hóa việc thêm thuộc tính cho các thẻ HTML Nhờ vào CSS, việc thiết kế và làm đẹp trang web trở nên dễ dàng và đa dạng hơn.
JavaScript là ngôn ngữ lập trình quan trọng giúp xử lý hiệu ứng và thực hiện các tính toán trên website Ngoài ra, nó còn được sử dụng để tạo ra sự đa dạng và làm đẹp cho các trang web.
jQuery là một thư viện JavaScript giúp đơn giản hóa việc sử dụng các câu lệnh, đồng thời cung cấp thêm nhiều lệnh mới để dễ dàng trang trí trang web Ngoài ra, jQuery cũng hỗ trợ xử lý các phép toán một cách hiệu quả hơn và cho phép người dùng tương tác với mô hình MVC thông qua Ajax.
Ajax là một thư viện mở rộng của jQuery, được sử dụng trong website này để kết nối với mô hình MVC Nó cho phép gửi dữ liệu từ View lên Controller và nhận kết quả trả về từ Controller.
C# (C-Sharp) là một ngôn ngữ lập trình bậc cao phổ biến, thường được áp dụng trong thiết kế phần mềm Trên trang web này, C# được sử dụng để phát triển backend theo mô hình MVC, giúp tối ưu hóa hiệu suất và cấu trúc của ứng dụng.
ASP.NET và ADO.NET là các phần mở rộng của ngôn ngữ C#, giúp tương tác giữa cơ sở dữ liệu và giao diện trở nên dễ dàng hơn thông qua mô hình MVC (Model - View - Controller) Trong mô hình này, Model chứa các thực thể (Entities), View là các file HTML kết hợp với C# có đuôi cshtml để xây dựng giao diện frontend, còn Controller đảm nhiệm việc tính toán, chuyển giao dữ liệu giữa Model và View, cũng như điều hướng trang web.
SQL Server thực hiện việc quản lý database, quản lý các dữ liệu lưu trữ tại server và kết nối với website thông qua mô hình MVC.
Linq là một thư viện hỗ trợ thực hiện các truy vấn một cách dễ dàng, tích hợp với C# để đơn giản hóa việc truyền tải dữ liệu từ cơ sở dữ liệu về website.
III Xử lý các chức năng
Tạo các thực thể từ dữ liệu SQL thông qua ADO.NET và hình thành Model cho mô hình MVC
Bước 1: Thêm một item mới, cụ thể là ADO.NET Entity.
Bước 2: Chọn nguồn dữ liệu từ server.
Bước 3: Đặt tên Entites và thực hiện tạo Model.
2 Xử lí các chức năng tại frontend a) Hiển thị thông tin ẩm thực
Hiển thị các món ăn theo đúng loại ẩm thực, loại ẩm thực và thông tin chi tiết về thông tin ẩm thực đó.
Nếu ẩm thực được đánh giá nhiều nhất về chất lượng, thì được gán vào bảng sản phẩm hot trend. b) Hiển thị đánh giá ẩm thực
Hiển thị các đánh giá của người dùng được lưu trữ trong database và xắp xếp theo ngày tạo. c) Thêm đánh giá về ẩm thực từ người dùng
Người dùng viết bình luận và cho điểm ẩm thực đó, gửi dữ liệu từ máy chủ và gửi trả phản hồi về việc thêm bình luận.
Bước 1: Kiểm tra dữ liệu đầu vào từ ô nhập bình luận, sử dụng thư
Phạm Gia Huy 89039 đã đăng nhập, Controller tiến thành thực hiện câu truy vấn
“Database.Rating_Prodcut.Add()” để thêm một dữ liệu mới vào database và gửi trả thông báo thành công về View cho người dùng.
Bước 4: Hiển thị thông báo lỗi nếu có sự cố xảy ra, hoặc thông báo thành công cho người dùng sau khi hoàn tất việc đăng tải bình luận Đồng thời, cung cấp tính năng báo cáo bình luận liên quan đến ẩm thực.
Người dùng báo cáo về một đánh giá bình luận về hành vi phạm các điều khoản về đánh giá, bình luận của hệ thống 39hz.
Bước 1: Người dùng gửi báo cáo từ View lên Controller.
Nếu người dùng chưa đăng nhập hoặc phiên đăng nhập đã hết hạn, Controller sẽ điều hướng họ đến màn hình đăng nhập Trong trường hợp người dùng đã đăng nhập, Controller sẽ tiếp nhận dữ liệu báo cáo và gửi lên cơ sở dữ liệu, đồng thời thông báo cho nhân viên trực về sự có mặt của một báo cáo mới liên quan đến đánh giá hoặc bình luận không hợp lệ.
Bước 3: Gửi trả thông tin gửi báo cáo thành công hoặc thất bại nếu có lỗi xảy ra về phía người dùng. e) Nhắn tin
Nguời dùng trao đổi với nhau thông qua hộp thoại messenger.
Bước 1: Người dùng nhập tin nhắn vào hộp thoại chat.
Để người dùng có thể trao đổi với người khác, họ cần đăng nhập vào hệ thống Nếu chưa đăng nhập, hệ thống sẽ yêu cầu người dùng thực hiện việc này Controller sẽ kiểm tra xem tin nhắn có ký tự lớn hơn 0 hay không; nếu không, sẽ không gửi gì Nếu có, tin nhắn sẽ được lưu trữ trong cơ sở dữ liệu và đồng thời gửi thông báo cho người dùng với ID nhận.
Bước 3: Hiển thị dữ liệu đã được gửi đi tại View. f) Thu hồi tin nhắn
Người dùng thu hồi tin nhắn khi cần.
Bước 1 chọn tin nhắn cần thu hồi, và chọn xác nhân thu hồi.
Bước 2: Controller sẽ xác nhận sự tồn tại của tin nhắn; nếu tin nhắn không tồn tại, hệ thống sẽ hiển thị thông báo lỗi Ngược lại, nếu tin nhắn tồn tại, nó sẽ được xóa khỏi cơ sở dữ liệu và ẩn khỏi hộp thoại chat.
Bước 3: Hiển thị dòng thông báo tin nhắn đã thu hồi tại vị trí tin nhắn đã xóa trong hộp thoại.
Phạm Gia Huy 89039 g) Tìm kiểm ẩm thực
Bước 1: Người dùng tìm kiếm các món ẩm thực thông qua thanh input ở trang chủ.
Bước 2: Controller sẽ kiểm tra xem ký tự có lớn hơn 0 hay không Nếu không, hệ thống sẽ không thực hiện gửi dữ liệu Ngược lại, nếu ký tự hợp lệ, nó sẽ được lưu trữ vào cơ sở dữ liệu treeb Hệ thống sau đó sẽ truy vấn các từ khóa mà bạn đã nhập vào cơ sở dữ liệu.
Bước 3: Hiển thị dữ liệu tìm kiếm trên View. h) Đăng bài
Bước 1: người dùng chọn mục đăng bài, điền thông tin vào form, View kiểm tra thông tin nhập vào bằng thư viên formvalication.
Bước 2, Controller sẽ tạo một ID mới cho bài đăng Nếu có lỗi trong quá trình nhập thông tin, hệ thống sẽ lưu tạm thời bản nháp vào cơ sở dữ liệu và thông báo lỗi Ngược lại, nếu không có lỗi, hệ thống sẽ thông báo thành công và lưu bài đăng vào cơ sở dữ liệu.
Bước 3: Hiển thị thông báo lỗi khi thêm bài không thành công và thông báo đăng bài thành công và điều hướng về trang chủ. i) Xóa bài đăng
Người dùng thực hiện xóa bài đăng.
Bước 1; Người dùng lựa chọ bài viết mình cần xóa, và nhấn xác nhận xóa.
Bước 2: Controller kiểm tra bài viết đó có tồn tại hay không, nếu không tồn thông báo lỗi, ngược lại xóa thông tin bài đăng khỏi database.
Bước 3: Hiện thị thông báo xóa thành công và refesh lại trang thông tin. j) Thống kê
Hệ thống tự động thống kê số lượt bình luận, đánh giá ở mỗi bài viết. k) Đăng kí
Người dung thực hiện tạo tài khoản mới.
Bước 2: Controller sẽ kiểm tra thông tin nhập vào, bao gồm tên người dùng, số điện thoại và email, để xác định xem chúng có tồn tại hay không Nếu thông tin đã tồn tại, hệ thống sẽ trả về thông báo lỗi; ngược lại, người dùng sẽ nhận được thông báo thành công.
Nếu số điện thoại hoặc email đã tồn tại trong hệ thống, người dùng sẽ nhận được thông báo yêu cầu nhập thông tin khác Ngược lại, thông tin sẽ được lưu vào cơ sở dữ liệu và một ID tài khoản mới sẽ được tạo ra.
Bước 4: Hiển thị thông báo đăng kí không thành công nếu gặp lỗi, ngược lại đăng kí thành công và điều hướng về trang đăng nhập. l) Đăng nhập
Người dùng thực hiện đăng nhập để sử dụng các chức năng cần đăng nhập
Bước 1: Người dung nhập thông tin đăng nhập bao gồm username, password, view kiểm tra thông tin nhập vào bằng thư viện formvalication.
Bước 2: Controller kiểm tra thông tin Username có tồn tại hay không, nếu không tồn tại trả về thông báo tài khoản của bạn không tồn tại.
Bước 3: Controller kiểm tra thông tin password xem có trùng khớp với thông tin username, password không, nếu không trùng khớp báo lỗi mật khẩu không chính xác.
Bước 4: Hiển thị thông báo đăng nhập thành công nếu nhập đúng thông tin tài khoản và điều hướng đến trang chủ. m)Chỉnh sửa thông tin
Người dùng thực hiện chỉnh sửa thông tin nếu có sai sót, bao gồm thay đổi mật khẩu.
Bước 1: Người dùng chọn thông tin, nhập thông tin cẩn chỉnh sửa, view kiểm tra thông tin nhập vào bằng thư viện formvalication.