1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom

51 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Website bán hàng ứng dụng recommender system
Tác giả Nguyễn Công Cường
Người hướng dẫn Nguyễn Văn Vương
Trường học Đại học Bách Khoa - Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo thực tập
Năm xuất bản 2025
Thành phố Đà Nẵng
Định dạng
Số trang 51
Dung lượng 2,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU CƠ QUAN THỰC TẬP (6)
    • 1.1. Thông tin công ty (6)
    • 1.2. Lĩnh vực hoạt động (6)
  • CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI (7)
    • 1.1 Giới thiệu về đề tài (7)
    • 1.2 Lý do chọn đề tài (7)
    • 1.3 Mục đích phát triển đề tài (7)
    • 1.4 Ý nghĩa thực tiễn (7)
    • 1.5 Đặt bài toán (8)
      • 1.5.1 Chức năng (8)
      • 1.5.2 Yêu cầu đặt ra (8)
    • 1.6 Các giai đoạn triển khai dự án (9)
    • 1.7 Vấn đề - Giải pháp (9)
  • CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG (11)
    • 3.1 Next.js (11)
    • 3.2 Tailwind CSS (11)
    • 3.3 MongoDB Cloud (12)
    • 3.4 Django (12)
    • 3.5 TypeScript (12)
    • 3.6 Kết hợp các công nghệ (13)
    • 3.7 Phân tích giải pháp đề xuất công nghệ xây dựng ứng dụng nền tảng Web (13)
  • CHƯƠNG 4: HỆ THỐNG GỢI Ý (15)
  • CHƯƠNG 5: PHÂN TÍCH HỆ THỐNG (0)
    • 5.1 Tổng quan thiết kế (21)
    • 5.10 Biểu đồ Use Case (25)
      • 5.10.1 Admin Role (25)
      • 5.10.2 Customer Role (26)
    • 5.11 Mô tả Use Case (26)
    • 5.12 Use Case & Actor Mapping (27)
    • 5.13 Phân tích UC (30)
  • CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU (35)
    • 6.1.1 Bảng Category (36)
    • 6.1.2 Bảng Product (36)
    • 6.1.3 Bảng Card (37)
    • 6.1.4 Bảng CardItem (37)
    • 6.1.5 Bảng Order (38)
    • 6.1.6 Bảng OrderItem (38)
    • 6.1.7 Bảng UserData (39)
    • 6.1.8 Bảng UserProduct (39)
  • CHƯƠNG 7: THIẾT KẾ GIAO DIỆN (41)
    • 7.1 Thiết kế giao diện (41)
      • 7.1.1 Trang chủ (41)
      • 7.1.2 Shop (42)
      • 7.1.3 Giỏ hàng (42)
      • 7.1.4 Chi tiết sản phẩm (43)
      • 7.1.5 Thông tin cá nhân (43)
      • 7.1.6 Lịch sử đặt hàng (44)
      • 7.1.7 Đăng nhập, đăng ký, quên mật khẩu (44)
      • 7.1.8 Các sản phẩm gợi ý được đề xuất bằng dữ liệu người dùng kết hợp thuật toán học máy (45)
      • 7.1.9 Quản lý danh mục sản phẩm (45)
      • 7.1.10 Quản lý các sản phẩm (46)
      • 7.1.11 Quản lý chi tiết sản phẩm (46)
      • 7.1.12 Thêm một sản phẩm mới (47)
      • 7.1.13 Quản lý nhập hàng (47)
      • 7.1.14 Trang danh mục sản phẩm (48)

Nội dung

Vấn đề còn bỏ ngỏ, nhận thấy cơ hội, khả năng phát triển, em nhận đề tài “Xây dựng website ứng dụng recommender system” nhằm mục đích đưa các giải pháp, triển khai thực tiến một số thuật

GIỚI THIỆU CƠ QUAN THỰC TẬP

Thông tin công ty

- Địa chỉ: Số 697 đường Phan Châu Trinh, phường Hoà Hương, thành phố Tam Kỳ, tỉnh Quảng Nam, Việt Nam

Lĩnh vực hoạt động

Công ty, được thành lập vào năm 2014, đã có nhiều năm kinh nghiệm trong lĩnh vực công nghệ thông tin, chuyên cung cấp giải pháp quản lý dựa trên nền tảng tích hợp hệ thống dữ liệu thông tin địa lý GIS và Viễn thám.

Sản phẩm của chúng tôi được phát triển dành cho các cơ quan, tổ chức cần quản lý dữ liệu theo tiêu chuẩn chuyên ngành, đồng thời tập trung vào việc xây dựng các hệ thống dữ liệu tập trung, hay còn gọi là Data Warehouse.

- Giải pháp quản lý hạ tầng đô thị

- Giải pháp quản lý tài nguyên và môi trường

- Giải pháp quản lý năng lượng

- Giải pháp quản lý nông nghiệp và lâm nghiệp

CÔNG NGHỆ SỬ DỤNG

Next.js

Next.js là một framework dựa trên React, được tối ưu hóa để phát triển các ứng dụng web hiệu suất cao và dễ dàng mở rộng Framework này tích hợp nhiều tính năng mạnh mẽ, giúp cải thiện trải nghiệm người dùng và tăng cường khả năng phát triển.

- Render phía máy chủ (Server-Side Rendering - SSR): Tối ưu hóa tốc độ tải trang và SEO

- Render tĩnh (Static Site Generation - SSG): Tạo các trang tĩnh với hiệu suất cao và bảo mật tốt hơn

- Hỗ trợ API Routes: Cho phép tạo các API endpoint trực tiếp trong ứng dụng

- Môi trường phát triển nhanh chóng: Hỗ trợ hot reload và phát triển dựa trên

Trong dự án này, Next.js được áp dụng để phát triển toàn bộ giao diện người dùng và một số chức năng cơ bản của hệ thống back-end, tận dụng sự kết hợp giữa SSR và CSR nhằm tối ưu hóa trải nghiệm người dùng.

Tailwind CSS

Tailwind CSS là một framework CSS tiện lợi với cách tiếp cận utility-first, giúp xây dựng giao diện nhanh chóng và nhất quán Nó cho phép tùy chỉnh dễ dàng thông qua file cấu hình tailwind.config.js, giúp điều chỉnh các giá trị mặc định như màu sắc và font chữ Bên cạnh đó, Tailwind CSS cung cấp khả năng tái sử dụng cao với các class CSS nhỏ gọn, thay vì phải viết CSS thủ công Đặc biệt, hiệu suất của nó được cải thiện nhờ vào công cụ PurgeCSS, chỉ giữ lại các class được sử dụng, giúp giảm dung lượng tệp CSS.

- Dự án sử dụng Tailwind CSS để phát triển giao diện người dùng, đảm bảo tính thân thiện và nhất quán trên nhiều loại thiết bị

MongoDB Cloud

- MongoDB Cloud là giải pháp cơ sở dữ liệu NoSQL hoạt động trên nền tảng đám mây Một số tính năng nổi bật:

- Quản lý linh hoạt: Lưu trữ dữ liệu dưới dạng JSON, dễ dàng mở rộng và thay đổi cấu trúc dữ liệu

- Khả năng mở rộng: Hỗ trợ phân vùng dữ liệu (sharding), đảm bảo hiệu suất trong các ứng dụng lớn

- Tích hợp tốt với hệ sinh thái web: Dễ dàng sử dụng với các công nghệ JavaScript như Next.js

MongoDB Cloud là giải pháp lý tưởng để lưu trữ dữ liệu sản phẩm, thông tin khách hàng và lịch sử mua sắm, đảm bảo truy cập nhanh chóng và bảo mật tối ưu.

Django

➢ Django là một framework web back-end mạnh mẽ dựa trên Python, được thiết kế để phát triển nhanh và dễ bảo trì Các tính năng chính:

▪ ORM mạnh mẽ: Quản lý cơ sở dữ liệu thông qua các model, giảm thiểu lỗi truy vấn thủ công

▪ Bảo mật tích hợp: Bao gồm các tính năng như chống CSRF, SQL Injection và XSS

▪ Cộng đồng lớn: Cung cấp nhiều thư viện mở rộng phục vụ đa dạng nhu cầu phát triển

Django là một framework mạnh mẽ được sử dụng để phát triển các API back-end, giúp xử lý dữ liệu phức tạp một cách hiệu quả Nó cũng hỗ trợ tích hợp với MongoDB thông qua các thư viện bổ sung, mang lại sự linh hoạt cho các ứng dụng web.

TypeScript

➢ TypeScript là một ngôn ngữ lập trình mở rộng của JavaScript, cung cấp hệ thống kiểu tĩnh và công cụ phát triển mạnh mẽ

Cải thiện chất lượng mã nguồn thông qua hệ thống kiểu giúp giảm thiểu lỗi khi viết code Hệ thống này hỗ trợ tốt cho IDE với tính năng gợi ý thông minh và kiểm tra lỗi trực tiếp trong quá trình lập trình Ngoài ra, nó còn tích hợp dễ dàng với Next.js, nâng cao khả năng bảo trì và mở rộng ứng dụng.

TypeScript được áp dụng trong dự án nhằm phát triển toàn bộ logic của ứng dụng, giúp mã nguồn trở nên dễ đọc, dễ bảo trì và giảm thiểu lỗi.

Kết hợp các công nghệ

- Dự án tận dụng sự kết hợp của các công nghệ hiện đại:

- Front-end: Next.js và Tailwind CSS cung cấp một trải nghiệm người dùng mượt mà và thẩm mỹ

- Back-end: Django đảm bảo hiệu năng và khả năng xử lý dữ liệu

- Cơ sở dữ liệu: MongoDB Cloud lưu trữ dữ liệu với khả năng mở rộng và độ tin cậy cao

- Ngôn ngữ lập trình: TypeScript đảm bảo sự an toàn và khả năng mở rộng cho mã nguồn.

Phân tích giải pháp đề xuất công nghệ xây dựng ứng dụng nền tảng Web

- Bảng so sánh các ngôn ngữ lập trình ứng dụng Web phổ biến hiện nay

Cộng đồng Phù hợp cho

HTML Cao Dễ Thấp Trung bình Rất cao Cao Tạo cấu trúc cơ bản của trang web

CSS Cao Dễ Thấp Trung bình Rất cao Cao Định dạng giao diện trang web

Trung bình Cao Trung bình Rất cao Tạo trang web năng động và hiệu quả

Cộng đồng Phù hợp cho

Python Cao Dễ Trung bình Cao Rất cao Cao Phát triển web back- end, API

Java Cao Trung bình Cao Cao Rất cao Cao Phát triển web front- end và ứng dụng

PHP Cao Dễ Trung bình

Phát triển web back- end và hệ thống CMS

Ruby Trung bình Dễ Trung bình

Phát triển web back- end, framework Rails

Dựa trên việc phân tích các ưu và nhược điểm của các nền tảng ngôn ngữ, chúng tôi khuyến nghị sử dụng ngôn ngữ lập trình Python cho việc triển khai.

HỆ THỐNG GỢI Ý

4.1 Tổng quan về hệ thống gợi ý

4.1.1 Giới thiệu về hệ thống gợi ý

Những hiện tượng dưới đây hiên nay đã trở nên phổ biến:

• Youtube tự động chuyển các clip liên quan đến clip bạn đang xem Youtube cũng tự gợi ý những clip mà có thể bạn sẽ thích

When you purchase an item on Amazon, the system automatically suggests products that are "Frequently bought together," or it identifies items you may like based on your purchase history.

• Facebook hiển thị quảng cáo những sản phẩm có liên quan đến từ khoá bạn vừa tìm kiếm

• Netflix tự động gợi ý phim cho người dùng

Hệ thống gợi ý sử dụng các thuật toán Machine Learning để tự động đề xuất sản phẩm phù hợp với sở thích của người dùng Bằng cách quảng cáo đúng đối tượng, hiệu quả marketing sẽ được nâng cao.

Recommendation Systems are a broad area of Machine Learning that has emerged more recently than Classification, primarily due to the internet's significant growth over the past 10 to 15 years.

Trong hệ thống gợi ý, có hai thực thể chính là người dùng (users) và sản phẩm (items) Người dùng là những cá nhân sử dụng dịch vụ, trong khi sản phẩm có thể là phim, bài hát, sách, video, hoặc thậm chí là những người dùng khác trong trường hợp gợi ý kết bạn Mục tiêu chính của các hệ thống gợi ý là dự đoán mức độ quan tâm của người dùng đối với một sản phẩm cụ thể, từ đó xây dựng chiến lược gợi ý phù hợp.

4.1.2 Hai chiến thuật hay dùng trong hệ gợi ý

Chiến thuật Lọc nội dung (Content Filtering) là phương pháp tạo ra hồ sơ cho từng người dùng hoặc sản phẩm, nhằm mô tả bản chất của chúng Chẳng hạn, hồ sơ phim có thể bao gồm các thuộc tính liên quan đến thể loại và các diễn viên tham gia.

Hồ sơ người dùng có thể chứa thông tin nhân khẩu học và câu trả lời từ bảng câu hỏi, giúp các chương trình liên kết người dùng với sản phẩm phù hợp Tuy nhiên, chiến lược dựa trên nội dung cần thu thập thông tin bên ngoài có thể gặp khó khăn trong việc thu thập hoặc không có sẵn.

Chiến thuật Lọc cộng tác (Collaborative Filtering) được định nghĩa bởi Tapestry, hệ gợi ý đầu tiên trên thế giới, là một phương pháp thay thế cho Lọc nội dung Chiến thuật này dựa vào hành vi người dùng trước đây, như giao dịch hoặc xếp hạng sản phẩm, mà không cần tạo hồ sơ rõ ràng Nó phân tích mối liên quan giữa người dùng và các thuộc tính sản phẩm để xác định quan hệ người dùng - sản phẩm Lọc cộng tác có ưu điểm là không bị giới hạn miền, giúp giải quyết các khía cạnh dữ liệu khó nắm bắt, trong khi Lọc nội dung lại hiệu quả hơn với dữ liệu mới được thêm vào.

4.1.3 Hai lĩnh vực trong Lọc cộng tác

Hai lĩnh vực chính của lọc cộng tác là các phương pháp lân cận và các mô hình yếu tố tiềm ẩn

Phương pháp vùng lân cận tập trung vào việc tính toán mối quan hệ giữa các items hoặc users, dựa trên cách người dùng đánh giá các “sản phẩm hàng xóm” Những sản phẩm này có xu hướng nhận được đánh giá tương tự từ cùng một người dùng Ví dụ, phim Giải cứu Binh nhì Ryan có thể có các sản phẩm hàng xóm như phim chiến tranh, phim của Spielberg và phim có Tom Hanks Để dự đoán xếp hạng của một người dùng cho Giải cứu Binh nhì Ryan, ta tìm kiếm những người hàng xóm gần nhất mà người dùng đã xếp hạng Cách tiếp cận này xác định những người dùng có sở thích tương đồng, giúp bổ sung cho các đánh giá của nhau.

Mô hình yếu tố tiềm ẩn là phương pháp đánh giá sản phẩm và người dùng thông qua 20 đến 100 yếu tố được suy ra từ các mẫu đánh giá Phương pháp này tương tự như mô hình hóa máy tính đối với các gen bài hát Đối với lĩnh vực điện ảnh, các yếu tố này có thể đo lường các khía cạnh rõ ràng như sự thiên về hài kịch so với bi kịch.

16 bộ phim hành động hay dành cho trẻ em thường có các yếu tố như nhân vật có chiều sâu và độc đáo, mặc dù một số yếu tố khác có thể khó xác định Những yếu tố này ảnh hưởng đến mức độ yêu thích của người xem và quyết định điểm số cao cho từng bộ phim.

Một trong những ứng dụng nổi bật của mô hình yếu tố tiềm ẩn là Phân tích ma trận thành nhân tử (Matrix Factorization) Kết quả từ cuộc thi Netflix Prize đã chứng minh rằng các mô hình này vượt trội hơn so với các kỹ thuật hàng xóm gần nhất trong việc đưa ra khuyến nghị sản phẩm, đồng thời cho phép tích hợp thông tin bổ sung như phản hồi ngầm, hiệu ứng thời gian và mức độ tin cậy.

Phương pháp phân tích ma trận thành nhân tử chuyển đổi mặt hàng và người dùng thành các vector yếu tố dựa trên mẫu xếp hạng Khi các yếu tố của người dùng và mặt hàng tương tự nhau, hệ thống sẽ đưa ra gợi ý Mỗi item có thể có các tính chất ẩn tương ứng với hệ số trong vector x, và người dùng cũng có tính chất ẩn tương ứng với vector w Không cần phải đặt tên cho các tính chất ẩn này; hệ số cao cho thấy item hoặc user thể hiện rõ tính chất ẩn đó Tính tương tự giữa item và user được thể hiện qua giá trị biểu thức xw, với giá trị cao cho thấy độ tương tự lớn, nghĩa là item có khả năng phù hợp với sở thích của người dùng, do đó nên gợi ý item này cho user.

Phương pháp này đã trở nên phổ biến trong những năm gần đây nhờ vào sự kết hợp hiệu quả giữa gợi ý chính xác và ước lượng tỉ lệ Hơn nữa, nó còn có khả năng ứng dụng linh hoạt trong việc mô hình hóa các tình huống thực tế.

Các hệ thống gợi ý thường sử dụng nhiều loại dữ liệu đầu vào khác nhau, được tổ chức trong một ma trận 2 chiều, với một chiều đại diện cho người dùng và chiều còn lại cho các mặt hàng mà họ quan tâm Dữ liệu hữu ích nhất thường là những phản hồi rõ ràng và chất lượng cao, như đánh giá của người dùng về sản phẩm Ví dụ, Netflix áp dụng hệ thống đánh giá sao (rating-star) cho các bộ phim.

Các mạng xã hội như Facebook, Twitter và YouTube thường có nút like (hoặc dislike) để người dùng thể hiện sự đánh giá về từng bài viết hoặc video Những phản hồi này được gọi chung là sự đánh giá của người dùng.

PHÂN TÍCH HỆ THỐNG

Tổng quan thiết kế

Chủ cửa hàng, công ty là người có quyền cao nhất: có thể xem thông tin về tình trạng, hoạt động cũng như mọi thay đổi thên website

Nếu chủ cửa hàng đồng thời là người quản trị website, thì tất cả thông tin trên website sẽ do chính họ quản lý Trong trường hợp thuê nhân viên quản trị, chủ cửa hàng cần cung cấp tài khoản và quyền hạn cho nhân viên đó để truy cập vào hệ thống.

Chủ cửa hàng nắm quyền cao nhất và có khả năng truy cập toàn bộ thông tin trên website, trong khi nhân viên và khách hàng chỉ được phép xem những thông tin được cấp quyền.

Nhiều trang bán hàng cao cấp tích hợp đa dạng phương thức thanh toán, nhưng việc này thường khó thực hiện đối với các website có quy mô nhỏ do điều kiện thực tế.

Sơ đồ tổng quan thiết kế hệ thống

5.2 Yêu cầu về hạ tầng triển khai

5.2.1 Network: Hạ tầng cần được thiết kế để đáp ứng lưu lượng truy cập cao, bao gồm:

- Sử dụng Content Delivery Network (CDN) như Vercel để cung cấp dữ liệu nhanh chóng tới người dùng

- Hệ thống firewall như Nginx để bảo vệ và quản lý truy cập

- Server: Có thể triển khai qua Azure để tận dụng tính mở rộng linh hoạt

- Database: Sử dụng MongoDB Cloud kết hợp Prisma cho truy vấn hiệu quả cao

- Framework: Website được phát triển trên nền tảng Next.js để tối ưu hiệu năng frontend và backend

- Thuê máy chủ: Thích hợp với nhu cầu ban đầu do chi phí thấp, linh hoạt mở rộng khi lưu lượng tăng

- Mua máy chủ: Phù hợp khi website đã đạt quy mô lớn và ốn định Tuy nhiên, chi phí ban đầu cao và cần đội ngũ quản trị

- Ubuntu: Thích hợp cho các server chạy web với hiệu năng cao, độ bảo mật tốt

- Windows Server: Dùng khi các ứng dụng yêu cầu tích hợp với phần mềm

5.5 Cơ chế sao lưu, phân tải và cân bằng tải

- Định kỳ sao lưu dữ liệu hàng ngày và hàng tuần

- Sử dụng công cụ MongoDB Atlas Backup

- Đóng gói file dữ liệu bằng Gzip và truyền về server sao lưu thứ hai

5.5.2 Phân tải và cân bằng tải

- Sử dụng Nginx hoặc Load Balancer trên Azure để phân bố lưu lượng giữa các server

- Cài đặt auto-scaling để đảm bảo khả năng mở rộng linh hoạt

5.6 Xử lý khi gặp lỗi hệ thống hoặc bị tấn công

- Sao lưu hệ thống: Tạo bản snapshot định kỳ để khôi phục nhanh khi xảy ra lỗi

- Khởi phục CSDL: Kết hợp sao lưu định kỳ và truyền dữ liệu tự động tới server dự phòng

- Bảo mật: Cài đặt Firewall và giải pháp chống DDoS như Azure DDoS

5.6.2 Phân tích nguyên nhân tấn công

- Kiểm tra log của Next.js và Nginx để xác định nguyên nhân

- Cập nhật bản vá để khắc phục các lỗi hổng

- Viết unit test và integration test với Django để bảo đảm logic hoạt động đúng

- Thực hiện load test để kiểm tra hiệu năng

- Kết hợp HTTPS và JWT để bảo vệ giao tiếp

- Mã hoá dữ liệu nhạy cảm trước khi lưu vào MongoDB

- Cài đặt quán lý truy cập IP để giới hạn người dùng không phép

5.8 Sao lưu dự phòng dữ liệu Để đảm bảo an toàn dữ liệu của phần mềm, hệ thống sẽ được thiết lập cơ chế sao lưu tự động (auto back-up) CSDL định kỳ (hàng ngày, hàng tuần, ) vào thiết bị lưu trữ dự phòng (dã cố gắn ngoài hoặc đám mây) hoặc người quản trị đề nghiệp vụ sao lưu một cách thủ công theo nhu cầu (manual back-up) Khi hết hạn gặp sự cố, CSDL sẽ được phục hồi nguyên vẹn vào thời điểm đã sao lưu

• Full Backup: Backup toàn bộ dữ liệu tại một thời điểm

• Differential Backup: Backup dữ liệu phát sinh sau thời điểm xảy ra Full

• File/Filegroup Backup: Backup những file và filegroup

Sao lưu Transaction Log là quá trình sao lưu các bản ghi log hiện có trong tệp log, tức là nó ghi lại các hành động và thao tác diễn ra đối với cơ sở dữ liệu mà không sao lưu dữ liệu thực tế.

• Partial Backup: Sao lưu một phần

Sao chép chỉ bản sao lưu là quá trình chỉ thực hiện sao chép các bản sao lưu đã được thực hiện trên cơ sở dữ liệu mà không làm ảnh hưởng đến chu kỳ sao lưu chính thức đã được thiết lập.

Dữ liệu phục hồi là bản sao của dữ liệu được khôi phục từ thời điểm tạo tệp sao lưu Chức năng phục hồi cơ sở dữ liệu (CSDL) của phần mềm cho phép khôi phục dữ liệu chính xác từ bản sao đó, nhằm phục vụ việc khôi phục tối đa thông tin từ tài khoản truy cập vào CSDL.

• Full Recovery Model: Tất cả dữ liệu sẽ được phục hồi Hiệu quả: Cân bằng giữa độ an toàn và hiệu suất

• Bulk-logged Recovery Model: Phù hợp với các giao dịch lớn Hiệu quả:

Tăng hiệu suất sao lưu

• Simple Recovery Model: Chỉ sao lưu một phần nhất định của dữ liệu

Biểu đồ Use Case

+ User: Người dùng đã đăng ký tài khoản trên ứng dụng

+ Guest: Những người dùng truy cập ứng dụng mà chưa đăng ký tài khoản

- Admin: Người quản lý và điều hành hệ thống ứng dụng bán hàng

Mô tả Use Case

STT Use Case Mô tả

1 Register Đăng ký tài khoản mới

2 ViewProducts Xem danh sách sản phẩm

3 SearchProduct Tìm kiếm sản phẩm

4 ViewProductDetails Xem thông tin chi tiết của sản phẩm

5 ViewCategories Xem danh sách danh mục

6 CreateCart Tạo giỏ hàng mới

7 ChangeCart Thay đổi nội dung trong giỏ hàng

8 ViewProfile Xem thông tin cá nhân

9 EditProfile Chỉnh sửa thông tin cá nhân

10 Login Đăng nhập vào hệ thống

11 ViewOrderHistory Xem lịch sử đơn hàng

12 OrderCart Đặt hàng từ giỏ hàng

13 SearchCategories Tìm kiếm danh mục

14 ViewCategories Xem danh mục sản phẩm

15 CreateCategory Tạo danh mục mới

16 UpdateCategory Cập nhật danh mục

18 CreateProducts Thêm sản phẩm mới

19 UpdateProduct Cập nhật sản phẩm

22 ViewImportHistory Xem lịch sử nhập hàng

23 ViewOrders Xem lịch sử mua hàng

24 ViewOrderDetails Xem chi tiết đơn hàng

25 ConfirmOrder Xác nhận đơn hang

26 ViewRecommend Xem gợi ý sản phầm ᐩ

Use Case & Actor Mapping

Phân tích UC

Name Manage product Code UC02

Description Cho phép actor xem toàn bộ sản phẩm

Actor Admin Trigger Actor click button [Quản trị sản phẩm]

Pre- condition Actor đã đăng nhập vào hệ thống quản trị

Post condition Chọn chức năng trong quản lý sản phẩm

Name Add new product Code UC03

Description Cho phép actor thêm sản phẩm mới

Actor Admin Trigger Actor click button [Create

Pre- condition Actor đã đăng nhập vào hệ thống quản trị

Post condition Thêm sản phẩm thành công

Name View recommend product Code UC01

Description Cho phép actor xem sản phẩm gợi ý

Pre-condition Actor đã đăng nhập vào hệ thống

Hiện thị sản phẩm gợi ý thành công

1 Dữ liệu về sản phẩm thêm phải thỏa mãn yêu cầu

Các trường dữ liệu phải thỏa mãn đúng yêu cầu về loại trường hoặc các điều kiện bên ngoài thêm

Name Edit product Code UC04

Description Cho phép actor sửa thông tin sản phẩm

Actor Admin Trigger Actor click button

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Sửa sản phẩm thành công

Name Delete product Code UC05

Description Cho phép actor xóa sản phẩm

Actor Admin Trigger Actor click button [Xóa sản phẩm]

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Xóa sản phẩm thành công

Name View product Code UC06

Description Cho xem thông tin sản phẩm

Actor Admin ,Customer,Guest Trigger Trên trang chủ của website

Name Manage static Code UC11

Description Cho phép actor quản lý thông kê theo mục chọn

Actor Admin Trigger Actor view màn hình quản lý thống kê

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị chức năng quản lý thống kê trên màn hình

Name Statistic sales Code UC12

Description Cho phép actor thống kê doanh thu bán sản phẩm

Actor Admin Trigger Actor click button [Thống kê doanh thu]

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị thống kê thành công

5.13.10 UC9: Statistic selling product Use Case Description

Name Statistic selling product Code UC12

Description Cho phép actor thống kê sản phẩm bán chạy

Actor Admin Trigger Actor click button [Thống kê sản phẩm bán chạy]

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị thông tin thống kê thành công

Name Manage Manufacture Code UC10

Description Cho phép actor quản lý thông tin nhà sản xuất

Actor Admin Trigger Actor click button [Quản trị nhà sản xuất]

Pre-condition Actor đã đăng nhập vào hệ thống quản trị

Hiển thị thông tin các nhà sản xuất

Name Statistic selling product Code UC12

Description Cho phép actor hiển thị chi tiết nhà sản xuất

Actor Admin Trigger Actor click button [Detail]

Pre-condition Actor đã đăng nhập vào hệ thống

Hiển thị thông tin các nhà sản xuất

Name Statistic selling product Code UC12

Description Cho phép actor tạo mới 1 nhà sản xuất

Actor Admin Trigger Actor click button [Create

Pre-condition Actor đã đăng nhập vào hệ thống

Name Edit manufacture Code UC13

Description Cho phép actor sửa thông tin nhà sản xuất

Actor Admin Trigger Actor click button

Pre-condition Actor đã đăng nhập vào hệ thống

Post condition Hiển thị thông tin thống kê thành công.

THIẾT KẾ CƠ SỞ DỮ LIỆU

Bảng Category

Trường dữ liệu bao gồm: "id" là khóa chính kiểu String, "name" là tên danh mục kiểu String, "image" là đường dẫn hình ảnh kiểu String, "description" là mô tả kiểu String, "createdAt" là thời điểm tạo kiểu DateTime, và "updatedAt" là thời điểm cập nhật kiểu DateTime.

Bảng Product

The table outlines the structure of a product database, featuring key attributes such as an ID (String) as the primary key, a name (String) for the product title, and a description (String) for product details It includes pricing information (Int), quantity available (Int), and the number of items sold (Int) Additionally, it records timestamps for creation (DateTime) and updates (DateTime), along with a status indicator (Boolean) to denote whether the product is active Lastly, it contains an array of image URLs (String[]) for product visuals.

Bảng Card

Tên trường Kiểu dữ liệu Mô tả id String Khóa chính userId String Khóa ngoại: User

Bảng CardItem

Tên trường Kiểu dữ liệu Mô tả id String Khóa chính quantity Int Số lượng cartId String Khóa ngoại: Cart productId String Khóa ngoại: Product

Bảng Order

The table outlines the data structure for a school, including key fields such as the primary key "id" (String), the "phone" (String) for contact information, and the "address" (String) for location details It also records timestamps with "createdAt" and "updatedAt" (DateTime) to track creation and modification dates Additionally, the "userId" (String) serves as a foreign key linking to the user, while the "status" (String) indicates the current state of the record.

Bảng OrderItem

Tên trường Kiểu dữ liệu Mô tả id String Khóa chính quantity Int Số lượng price Int Giá orderId String Khóa ngoại: Order productId String Khóa ngoại: Product

Bảng UserData

Trường dữ liệu bao gồm: userId (String) là khóa chính, recentCare (String[]) là mảng các lần chăm sóc, recentAdd (String[]) là mảng các lần thêm, và recentBuy (String[]) là mảng các lần mua.

Bảng UserProduct

Tên trường Kiểu dữ liệu Mô tả id String Khóa chính productId String Khóa ngoại: Product quantity Int Số lượng createdAt DateTime Thời điểm tạo price Int

THIẾT KẾ GIAO DIỆN

Thiết kế giao diện

○ Hình 5.1.1.1: Giao diện trang chủ

○ Hình 5.1.3.1: Giao diện giỏ hàng

○ Hình 5.1.4.1: Giao diện chi tiết sản phẩm

○ Hình 5.1.5.1: Giao diện thông tin cá nhân

○ Hình 5.1.6.1: Giao diện lịch sử đặt hàng

7.1.7 Đăng nhập, đăng ký, quên mật khẩu

○ Hình 5.1.7.1: Giao diện Đăng nhập

7.1.8 Các sản phẩm gợi ý được đề xuất bằng dữ liệu người dùng kết hợp thuật toán học máy

○ Hình 5.1.8.1: Giao diện phần gợi ý sử dụng học máy

7.1.9 Quản lý danh mục sản phẩm

○ Hình 5.1.9.1: Giao diện Quản lý danh mục sản phẩm

7.1.10 Quản lý các sản phẩm

○ Hình 5.1.10.1: Giao diện Quản lý sản phẩm

7.1.11 Quản lý chi tiết sản phẩm

○ Hình 5.1.11.1: Giao diện Quản lý chi tiết sản phẩm

7.1.12 Thêm một sản phẩm mới

○ Hình 5.1.12.1: Giao diện thêm sản phẩm mới

○ Hình 5.1.13.1: Giao diện Quản lý nhập hàng

7.1.14 Trang danh mục sản phẩm

○ Hình 5.1.14.1: Giao diện xem danh mục sản phẩm

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển khai ứng dụng công nghệ, báo cáo đã đạt được những kết quả sau:

Nhóm đã hiểu rõ các quy trình của một trang web thương mại điện tử và ứng dụng thành công các công nghệ xây dựng website như NextJS, Django, MongoDB Cloud và Hệ thống gợi ý.

Qua quá trình đào tạo của chương trình thực tập tốt nghiệp, nhóm đã nắm vững cách làm việc trong một dự án thực tế, bao gồm việc sử dụng Git và áp dụng nguyên tắc Scrum.

Nhóm đã thành công trong việc xây dựng website bán hàng online, đáp ứng nhu cầu người tiêu dùng với giao diện thân thiện và dễ sử dụng Điều này giúp người quản lý tiết kiệm thời gian và dễ dàng quản lý thông tin người dùng, sản phẩm và đơn hàng, từ đó thuận tiện cho việc giao nhận hàng.

Vấn đề thời gian: vẫn còn hạn chế về mặt thời gian vì thời gian thực tập chỉ diễn tra trong 2 tuần

Vấn đề làm việc nhóm: vẫn còn hạn chế về việc trao đổi vì nhóm chỉ trao đổi vấn đề qua các kênh tương tác online như zoom, message, …

2 KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN

2.1 Kiến nghị với cơ quan thực tập:

Về ứng dụng website bán hàng:

Nâng cấp giao diện website, tối ưu trải nghiệm người dùng trên di động Tích hợp thêm các phương thức thanh toán đa dạng, tiện lợi

Mở rộng hệ thống quản lý đơn hàng, tích hợp chatbot hỗ trợ khách hàng Tăng cường các hoạt động marketing, quảng bá website

Phân tích dữ liệu khách hàng, tối ưu hóa chiến lược bán hàng

Về quy trình thực tập:

Cung cấp tài liệu hướng dẫn thực tập chi tiết hơn

Tổ chức các buổi workshop, đào tạo chuyên sâu về các kỹ năng cần thiết cho công việc

Có hệ thống đánh giá, nhận xét cụ thể về kết quả thực tập của sinh viên

2.2 Ý kiến bản thân sau khi hoàn thành báo cáo thực tập tốt nghiệp:

Kiến thức và kỹ năng:

Nâng cao kỹ năng lập trình web, sử dụng các framework, thư viện phổ biến Nắm vững quy trình phát triển phần mềm, quản lý dự án

Kỹ năng giao tiếp, làm việc nhóm, giải quyết vấn đề được cải thiện

Có kiến thức về marketing online, SEO, SEM

Hiểu rõ về cách thức vận hành một website bán hàng

Có kinh nghiệm làm việc trong môi trường công ty chuyên nghiệp

Rèn luyện kỹ năng làm việc độc lập, chịu trách nhiệm

Có cơ hội tiếp xúc và học hỏi từ các chuyên gia trong ngành

2.3 Nguyện vọng sau khi hoàn thành chương trình thực tập tốt nghiệp:

Tìm kiếm cơ hội việc làm phù hợp với chuyên ngành và năng lực bản thân Tiếp tục học hỏi và trau dồi kiến thức, kỹ năng chuyên môn

Trở thành chuyên gia trong lĩnh vực phát triển phần mềm hoặc marketing online

Có khả năng tự khởi nghiệp và phát triển dự án riêng

Góp phần vào sự phát triển của ngành công nghệ thông tin Việt Nam.

Ngày đăng: 25/06/2025, 07:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đồ án xây dựng website bán hàng trực tuyến 2019 https://hotroontap.com/do-an- xay-dung-website-ban-hang-truc-tuyen-2019/ Sách, tạp chí
Tiêu đề: Đồ án xây dựng website bán hàng trực tuyến
Năm: 2019
[2] Đồ án xây dựng website thương mại điện tử https://www.slideshare.net/nataliej4/bo-co-n-tt-nghip-xy-dng-website-bn-hng-thng-minhTiếng Anh Sách, tạp chí
Tiêu đề: Đồ án xây dựng website thương mại điện tử
[3] Document Nexjs Framework: https://nextjs.org/docs Sách, tạp chí
Tiêu đề: Next.js Docs
Nhà XB: Vercel, Inc.
[4] Documents Django: https://www.django-rest-framework.org/ Sách, tạp chí
Tiêu đề: Documents Django
[5] Documents MongoDB: https://www.mongodb.com/docs/manual/core/document/ Internet Sách, tạp chí
Tiêu đề: Documents
Nhà XB: MongoDB Docs

HÌNH ẢNH LIÊN QUAN

Sơ đồ tổng quan thiết kế hệ thống - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
Sơ đồ t ổng quan thiết kế hệ thống (Trang 21)
6.1.1  Bảng Category - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.1 Bảng Category (Trang 36)
6.1.2  Bảng Product - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.2 Bảng Product (Trang 36)
6.1.4  Bảng CardItem - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.4 Bảng CardItem (Trang 37)
6.1.3  Bảng Card - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.3 Bảng Card (Trang 37)
6.1.5  Bảng Order - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.5 Bảng Order (Trang 38)
6.1.7  Bảng UserData - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.7 Bảng UserData (Trang 39)
6.1.8  Bảng UserProduct - Báo cáo thực tập tốt nghiệp ngành công nghệ thông tin website bán hàng Ứng dụng recommender system công ty thực tập fixcom
6.1.8 Bảng UserProduct (Trang 39)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w