Báo cáo Đồ án 1: Xây dựng website bán bánh ngọt - ĐH CNTT TPHCM

Tải đồ án xây dựng website bán bánh ngọt bằng ReactJS, NodeJS. Tài liệu gồm báo cáo chi tiết và full source code, phù hợp cho sinh viên tham khảo.

2024

102
2
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Website Bán Bánh Ngọt

Đồ án website bán bánh ngọt là một dự án lập trình web hiện đại, kết hợp công nghệ frontend và backend để tạo nên một nền tảng thương mại điện tử hoàn chỉnh. Dự án này cung cấp giải pháp toàn diện cho các tiệm bánh muốn chuyên nghiệp hóa hoạt động kinh doanh trực tuyến. Với đầy đủ mã nguồn và báo cáo chi tiết, sinh viên có thể dễ dàng hiểu rõ quy trình phát triển ứng dụng web thương mại điện tử từ A đến Z.

1.1. Mục đích và ý nghĩa của dự án

Mục đích chính của dự án là xây dựng một website chuyên nghiệp cho việc bán bánh ngọt trực tuyến. Dự án giúp sinh viên áp dụng kiến thức lập trình vào thực tế, đồng thời phát triển kỹ năng quản lý dự án. Nó cung cấp nền tảng để học tập về xử lý thanh toán, quản lý kho hàng, và giao tiếp khách hàng hiệu quả.

II. Công Nghệ và Stack Phát Triển

Dự án website bán bánh ngọt sử dụng stack công nghệ hiện đại bao gồm HTML5, CSS3, JavaScript cho frontend và PHP/Python, MySQL cho backend. Các công nghệ này được lựa chọn vì tính ổn định, dễ học và hỗ trợ cộng đồng rộng rãi. Ngoài ra, dự án còn tích hợp các thư viện bootstrap, jQuery để tối ưu giao diện người dùng và trải nghiệm khách hàng. Cơ sở dữ liệu được thiết kế đơn giản nhưng đủ mạnh để xử lý các nghiệp vụ cơ bản của một cửa hàng bán lẻ.

2.1. Frontend và Backend Architecture

Frontend được xây dựng với HTML5, CSS3 và JavaScript vanilla, tạo ra giao diện responsive thân thiện với thiết bị di động. Backend sử dụng PHP hoặc Python kết hợp với framework như Laravel hoặc Flask. Kiến trúc được thiết kế theo mô hình MVC (Model-View-Controller) để đảm bảo code sạch, dễ bảo trì và mở rộng trong tương lai.

III. Các Chức Năng Chính của Website

Website bán bánh ngọt bao gồm các chức năng thiết yếu như hiển thị danh mục sản phẩm, hệ thống giỏ hàng, thanh toán an toàn, quản lý đơn hàng và tài khoản khách hàng. Admin có thể quản lý sản phẩm, giá cả, kho hàng và xem báo cáo bán hàng. Hệ thống tìm kiếm nâng cao giúp khách hàng dễ dàng tìm sản phẩm yêu thích. Chức năng đánh giá và bình luận sản phẩm tăng tính tương tác và đáng tin cậy.

3.1. Quản Lý Sản Phẩm và Đơn Hàng

Admin có quyền truy cập vào bảng điều khiển toàn diện để thêm, sửa, xóa sản phẩm và quản lý thông tin chi tiết. Hệ thống tracking đơn hàng cho phép theo dõi trạng thái từ đặt hàng đến giao hàng. Tính năng quản lý kho tự động cập nhật số lượng sản phẩm, ngăn chặn bán hàng vượt quá số lượng có sẵn.

IV. Báo Cáo và Tài Liệu Kỹ Thuật

Dự án đi kèm với báo cáo chi tiết bao gồm phân tích yêu cầu, thiết kế hệ thống, sơ đồ cơ sở dữ liệu và hướng dẫn triển khai. Tài liệu kỹ thuật cung cấp hướng dẫn cài đặt từng bước, cấu hình máy chủ và bảo mật ứng dụng. Code được comment chi tiết, giúp sinh viên dễ dàng hiểu và sửa đổi. Báo cáo cuối cùng tóm tắt các thành tựu, thách thức gặp phải và kiến nghị cho phát triển tương lai.

4.1. Cấu Trúc Báo Cáo và Tài Liệu Source Code

Báo cáo được chia thành các chương rõ ràng: giới thiệu dự án, phân tích nhu cầu, thiết kế kiến trúc, chi tiết triển khai, kiểm thử và kết luận. Source code được tổ chức theo thư mục logic, mỗi module đều có file README hướng dẫn. Kèm theo là video hướng dẫn sử dụng và các script SQL sẵn sàng để khởi tạo cơ sở dữ liệu.

28/12/2025

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

Đặt vấn đề Bánh ngọt không chỉ là món ăn mà còn là biểu tượng của sự ngọt ngào và hạnh phúc trong đời sống. Việc thưởng thức bánh ngọt mang lại nhiều lợi ích, từ thỏa mãn khẩu vị đến tạo nên những kỷ niệm đáng nhớ trong các dịp lễ, sinh nhật, hay những buổi gặp gỡ bạn bè. Ngoài ra, bánh ngọt cũng đóng vai trò là món quà tinh thần, thể hiện tình cảm giữa mọi người với nhau. Không chỉ dừng lại ở giá trị văn hóa, bánh ngọt còn là một phần trong sự sáng tạo ẩm thực, giúp các thợ làm bánh thể hiện tay nghề và tư duy nghệ thuật qua từng sản phẩm.

Cùng với sự phát triển mạnh mẽ của thương mại điện tử, việc xây dựng một website bán bánh ngọt mang lại sự tiện lợi và nhanh chóng, giúp khách hàng dễ dàng tiếp cận các sản phẩm chất lượng mà không cần đến trực tiếp cửa hàng. Theo thống kê, trung bình mỗi người tiêu dùng Việt Nam thực hiện gần 4 lượt mua sắm trực tuyến mỗi tháng, với hơn 42% trong số họ mua hàng nhiều hơn một lần mỗi tuần34. Đặc biệt, ngành thực phẩm đặc sản, bao gồm bánh ngọt, đang dần chiếm tỷ lệ lớn trong thói quen mua sắm trực tuyến của người tiêu dùng5. Điều này cho thấy tiềm năng rất lớn để phát triển các nền tảng thương mại điện tử chuyên biệt như website "Avocado".

Việc xây dựng website "Avocado" không chỉ đáp ứng nhu cầu tiêu dùng bánh ngọt ngày càng gia tăng mà còn mở ra cơ hội quảng bá thương hiệu, gia tăng doanh thu cho các tiệm bánh. Website này hướng tới trải nghiệm người dùng vượt trội với các tính năng hiện đại như tìm kiếm sản phẩm, đặt hàng, thanh toán trực tuyến, và tùy chỉnh sản phẩm theo yêu cầu.2 Lý do chọn đề tài 15 Xuất phát từ nhu cầu thực tế trong đời sống, việc xây dựng một website bán bánh ngọt sẽ giúp khách hàng dễ dàng tìm thấy những sản phẩm mới, phù hợp với sở thích của họ. Website này không chỉ giúp khách hàng tiết kiệm thời gian tìm kiếm mà còn mang lại trải nghiệm mua sắm tuyệt vời. Để đáp ứng nhu cầu này, nhóm chúng tôi quyết định chọn đề tài Xây dựng website bán bánh ngọt "Avocado".

Mục tiêu của chúng em là phát triển một nền tảng không chỉ cung cấp các lựa chọn bánh ngọt đa dạng và chất lượng, mà còn tạo ra trải nghiệm mua sắm thú vị và cá nhân hóa cho từng khách hàng. Qua đó, chúng em hy vọng sẽ cải thiện trải nghiệm người dùng và tăng khả năng giữ chân khách hàng, biến "Avocado" thành điểm đến yêu thích của những người yêu bánh ngọt.2 Mục đích và phạm vi của đề tài 1.1 Mục đích - Phát triển hệ thống quản lý và bán các loại bánh trực tuyến. - Xây dựng danh mục sản phẩm chi tiết, cập nhật thông tin bánh thường xuyên, và sắp xếp theo từng danh mục để khách hàng dễ dàng tìm kiếm và lựa chọn. - Mang đến trải nghiệm mua sắm thân thiện, tiện lợi với giao diện trực quan và các tính năng hỗ trợ người dùng tối ưu.2 Phạm vi đề tài Đề tài tập trung xây dựng ứng dụng hỗ trợ người dùng mua sắm các sản phẩm bánh ngọt.

Đối với admin sẽ tương tác trực tiếp trên Database. Phạm vi môi trường Triển khai sản phẩm đề tài trên môi trường Web. Phạm vi chức năng - Chức năng xem bánh, tìm kiếm bánh theo key word. - Quản lý danh sách bánh.

- Chức năng xem thông tin bánh. - Quản lý hồ sơ cá nhân người dùng. 16 - Quản lí danh sách đơn hàng và lịch sử đơn hàng. - Quản lí danh sách người dùng.

- Quản lí tin tức, khuyến mãi. - Quản lí hành trình đơn hàng.3 Đối tượng Đồ án này tập trung nghiên cứu: Các công nghệ: - Node. - Mô hình hoạt động của website thương mại điện tử.3 Phương pháp nghiên cứu - Tìm hiểu công nghệ: ReactJS, Node.js, MongoDB, Bootstrap. - Phân tích các giải pháp của các ứng dụng tương tự trên thị trường.

- Thực hiện khảo sát nhu cầu, tình trạng thực tế của người dùng. - Phân tích và xác định yêu cầu. - Lên kế hoạch. - Thiết kế: - Thiết kế cơ sở dữ liệu.

- Thiết kế đối tượng. - Hoàn thiện sản phẩm. - Bảo trì, cập nhật sản phẩm 17 1.4 Công nghệ sử dụng - Cơ sở dữ liệu : MongoDB. - Thư viện: ReactJS - Ngôn ngữ: JavaScript.

- Công cụ xây dựng ứng dụng: Visual Studio Code. - Công cụ lưu trữ mã nguồn: Github 1.1 Khảo sát hiện trạng Sau khi tìm hiểu các công nghệ và phần mềm tương tự có mặt tại Việt Nam, dưới đây là bảng so sánh của một số phần mềm tiêu biểu. Danh sách các chức năng Anh Hòa Fresh LaFuong Cái Lò Chức năng Avocado Bakery [1] garden [2] Pastry [3] Nướng [4] Đăng nhập Có Có Không Không Không Đăng ký Có Có Không Không Không Sửa thông tin tài Có Có Không Không Không khoản Tìm kiếm Có Có Có Có Có sản phẩm Thêm sản phẩm vào Có Có Có Có Có giỏ 19 Có (nhiều Thanh toán Có Có Có Có hình thức) Xem thông tin sản Có Có Có Có Có phẩm Phân loại sản phẩm Có Có Có Có Có theo danh mục Xem tin tức Có Có Có Có Có khuyến mãi Quản lý tài khoản Có Có Không Không Không người dùng Hầu hết các website bán bánh ngọt hiện nay đều quản lý một lượng lớn sản phẩm với nhiều loại bánh đa dạng và phong phú. Trong đó, các yếu tố như bảo mật thông tin khách hàng và sự linh hoạt trong trải nghiệm người dùng luôn được đặt lên hàng đầu.

Dưới đây là bảng phân tích chi tiết về một số website bán bánh ngọt nổi bật, giúp đánh giá và so sánh các tính năng của Avocado với các đối thủ. Bảng phân tích các khía cạnh Nguyễn Sơn Bakery Khía Cạnh Phân Tích Nguyễn Sơn Bakery sử dụng một hệ thống quản lý sản phẩm tập trung, hỗ trợ xử lý dữ liệu về danh mục bánh, đơn hàng, và Kiến Trúc thông tin tài khoản khách hàng. Hệ thống cần đảm bảo tính Hệ Thống mở rộng và khả năng xử lý đồng thời để duy trì hoạt động ổn định. Giao diện được thiết kế thân thiện và trực quan, hỗ trợ đăng Trải Nghiệm nhập, đăng ký tài khoản để cá nhân hóa trải nghiệm mua sắm.

Người Dùng Khách hàng có thể dễ dàng tìm kiếm, chọn bánh, và lưu các mục yêu thích để mua sắm sau này. Hệ thống quản lý danh mục bánh, phân loại sản phẩm theo Quản Lý Nội từng danh mục như bánh sinh nhật, bánh cưới, bánh ngọt kiểu Dung Pháp. Tích hợp chức năng hiển thị sản phẩm nổi bật và cập nhật thông tin khuyến mãi thường xuyên. Thông tin tài khoản người dùng được bảo vệ thông qua các Bảo Mật và phương thức xác thực khi đăng nhập.

Bảo mật thông tin thanh Quyền Riêng toán trực tuyến được đảm bảo bằng mã hóa dữ liệu và các biện Tư pháp xác minh bảo mật. Việc tối ưu hóa tốc độ tải trang và truy vấn dữ liệu là cần thiết Tối Ưu Hóa để đảm bảo người dùng có trải nghiệm mượt mà, đặc biệt khi Hiệu Suất lượng truy cập tăng cao vào các dịp lễ lớn như Tết hoặc Trung thu.2 Những vấn đề còn tồn tại - Chất lượng Hình ảnh và Hiệu suất: Mặc dù nhiều website cung cấp hình ảnh bánh chất lượng cao, tốc độ tải trang có thể bị ảnh hưởng bởi kết nối internet 21 hoặc hosting không đủ mạnh, gây ra trải nghiệm không mượt mà cho người dùng. - Tương thích và Đa nền tảng: - Tính tương thích giữa các thiết bị và hệ điều hành khác nhau có thể là một thách thức, đặc biệt khi cần tối ưu hóa giao diện cho cả máy tính và điện thoại di động. - Sự tích hợp không đồng đều giữa ứng dụng di động và website đôi khi gây ra khó khăn khi đặt hàng hoặc theo dõi đơn hàng.

- Chất lượng Sản phẩm và Sự đa dạng: Mặc dù có rất nhiều loại bánh ngọt trên các website, việc đảm bảo chất lượng và sự đa dạng phù hợp với thị hiếu khách hàng vẫn là một vấn đề, đặc biệt đối với các loại bánh thủ công hoặc bánh dành cho những chế độ ăn kiêng đặc biệt.3 Vấn đề đề tài tập trung - Vấn đề hiệu suất: Đảm bảo tốc độ tải trang nhanh chóng, duy trì kết nối ổn định và mang lại trải nghiệm mua sắm mượt mà, giúp người dùng dễ dàng duyệt và đặt hàng. - Tính tương thích phần mềm: Xây dựng giao diện website thân thiện với người dùng, có thể hoạt động tốt trên cả máy tính và điện thoại di động, đồng thời tối ưu hóa để tương thích với các hệ điều hành khác nhau. - Cải thiện chất lượng trải nghiệm: Xây dựng hệ thống gợi ý các loại bánh phù hợp dựa trên sở thích và hành vi mua sắm trước đây của người dùng, nhằm tăng sự hứng thú và cá nhân hóa trải nghiệm mua hàng.1 Tổng quan về ReactJS 2.1 Giới thiệu ReactJS [5] ReactJS là một thư viện JavaScript mã nguồn mở phát triển bởi Facebook và cộng đồng các nhà phát triển trên toàn thế giới. Với đặc tính linh hoạt, đơn giản và dễ sử dụng, ReactJS đã trở thành một trong những công nghệ phát triển web được ưa chuộng nhất hiện nay.

Hình MỤC LỤC BẢNG. Tổng quan ReactJS ReactJS được phát triển bởi Facebook và được giới thiệu lần đầu tiên vào năm 2011. Ban đầu, ReactJS được phát triển để xây dựng giao diện người dùng trên trang web Facebook, nhằm cải thiện tốc độ và hiệu suất của ứng dụng web.2 Ưu điểm ReactJS có nhiều tính năng hữu ích cho việc phát triển ứng dụng web, bao gồm: 23 - Components: ReactJS cho phép phát triển ứng dụng web theo mô hình component. Các component là các phần tử UI độc lập có thể được tái sử dụng trong nhiều phần khác nhau của ứng dụng.

- Virtual DOM: ReactJS sử dụng Virtual DOM để tối ưu hóa hiệu suất của ứng dụng. Virtual DOM là một bản sao của DOM được lưu trữ trong bộ nhớ và được cập nhật một cách nhanh chóng khi có thay đổi, giúp tăng tốc độ và hiệu suất của ứng dụng. - JSX: JSX là một ngôn ngữ lập trình phân biệt được sử dụng trong ReactJS để mô tả các thành phần UI. JSX kết hợp HTML và JavaScript, giúp cho việc viết mã dễ hiểu và dễ bảo trì hơn.

- State và Props: ReactJS cho phép quản lý trạng thái của các thành phần UI thông qua State và Props. State là trạng thái của một thành phần được quản lý bởi nó chính, trong khi Props là các giá trị được truyền vào từ bên ngoài để tùy chỉnh hoặc điều khiển hành vi của một thành phần.

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