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

Đề tài "Ứng dụng đăng tin Rao Vặt" được thực hiện bởi nhóm sinh viên Hồ Tấn Hùng, Ngô Thị Thanh Ngân và Nguyễn Lâm Ngọc Phước dưới sự hướng dẫn của Th.S Đặng Thị Kim Giao tại Khoa Công nghệ Thông tin, Trường Đại học Ngoại ngữ – Tin học TP.HCM (hoàn thành ngày 11/03/2022).

Bối cảnh thực tiễn của nghiên cứu xuất phát từ sự phát triển không ngừng của mạng Internet kết hợp với tác động của đại dịch COVID-19, tạo tiền đề cho sự tăng trưởng vượt bậc của thương mại điện tử. Theo số liệu thống kê được nhóm tác giả trích dẫn trong văn bản, Việt Nam nằm trong nhóm 20 quốc gia có số lượng người dùng Internet cao nhất thế giới với 49 triệu người kết nối mạng, trong đó có khoảng 23 triệu người thường xuyên tham gia mua sắm trực tuyến. Nhu cầu giao thương, trao đổi hàng hóa và dịch vụ trực tuyến tăng cao dẫn đến sự xuất hiện của nhiều kênh rao vặt. Tuy nhiên, thực trạng các website rao vặt tự phát thường gặp phải các hạn chế lớn: quy trình đăng bài thiếu kiểm duyệt, người dùng phải chờ đợi lâu, chất lượng tin đăng kém, thông tin thiếu độ tin cậy và giao diện chưa tối ưu.

Trước thực trạng đó, mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Xây dựng một website thương mại điện tử rao vặt trực tuyến ("Rao Vặt") đóng vai trò cầu nối thông tin giữa người mua và người bán với quy trình giao dịch nhanh chóng, tiện lợi và tiết kiệm chi phí.
  2. Thiết kế giao diện người dùng thân thiện, tinh gọn, tập trung vào trải nghiệm tìm kiếm, lọc tin và đăng tin.
  3. Hỗ trợ đăng tin đa lĩnh vực (thực phẩm, đồ điện tử, đồ gia dụng, xe cộ, bất động sản...) theo cấu trúc danh mục phân cấp rõ ràng, cho phép đăng tin số lượng lớn và miễn phí.
  4. Xây dựng quy trình nghiệp vụ kiểm duyệt tin bài nhanh chóng từ phía quản trị viên để loại bỏ tin rác, nâng cao chất lượng và độ tin cậy của thông tin giao dịch.
  5. Định hướng giải pháp tích hợp các công cụ thống kê chuyên nghiệp (Open SEO status, Google Webmaster Tool, Google Analytics) nhằm theo dõi lưu lượng truy cập và tình trạng hoạt động của hệ thống.

Phạm vi nghiên cứu của đề tài tập trung vào việc thiết kế, xây dựng và triển khai một hệ thống website thương mại điện tử phục vụ nhu cầu đăng tin, tra cứu và quản lý giao dịch rao vặt cho các cá nhân, tổ chức tại thị trường Việt Nam.

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

Đề tài áp dụng các nguyên lý công nghệ phần mềm nâng cao, kiến trúc hệ thống phân lớp và quy trình phân tích thiết kế hướng đối tượng (OOAD) để hiện thực hóa sản phẩm.

Khung lý thuyết và mô hình ứng dụng

  • Mô hình kiến trúc MVC (Model - View - Controller): Đồ án lựa chọn mô hình kiến trúc MVC để phân tách ứng dụng thành ba thành phần độc lập:
    • Model: Quản lý và lưu trữ toàn bộ dữ liệu, xử lý các thao tác truy xuất dữ liệu từ cơ sở dữ liệu quan hệ.
    • View: Đảm nhận logic giao diện người dùng (UI), hiển thị thông tin và tiếp nhận tương tác từ người dùng thông qua các biểu mẫu (forms) và mã HTML.
    • Controller: Tiếp nhận yêu cầu (HTTP Request) từ View, điều hướng xử lý thông qua việc gọi các hàm/lớp trong Model và trả dữ liệu về View tương ứng.
  • Quy trình hoạt động 4 bước của MVC trong hệ thống:
    1. Người dùng gửi HTTP Request qua trình duyệt Web; bộ điều hướng (Routing) xác định Controller xử lý.
    2. Controller kiểm tra yêu cầu dữ liệu, gọi xử lý từ Model, nhận kết quả và xác định View hiển thị.
    3. View nhận dữ liệu từ Controller, dựng cấu trúc giao diện (GUI Content) và gửi về Controller.
    4. Trình duyệt nhận kết quả trả về và hiển thị cho người dùng cuối.
  • Các khái niệm và chuẩn công nghệ liên quan: Khung phát triển ứng dụng người dùng cuối (EUD - End-User Development), Giao diện lập trình ứng dụng (API), Google Web Toolkit (GWT), Ngôn ngữ đánh dấu siêu văn bản (HTML).

Phương pháp nghiên cứu và xây dựng hệ thống

  • Phương pháp phân tích yêu cầu: Sử dụng mô hình hóa nghiệp vụ thông qua sơ đồ Use Case tổng quan, Use Case phân rã và 20 sơ đồ hoạt động (Activity Diagrams) tương ứng với từng tiến trình chức năng cụ thể.
  • Phương pháp thiết kế dữ liệu: Thiết kế mô hình dữ liệu quan hệ (Data Model) trên hệ quản trị cơ sở dữ liệu Microsoft SQL Server với 12 bảng thực thể liên kết.
  • Phương pháp chuẩn hóa giao diện: Thiết lập bộ tiêu chuẩn thiết kế chi tiết về độ phân giải màn hình, kiểu phông chữ, kích thước phông chữ và cách căn lề cho từng thành phần giao diện.

Thiết kế và triển khai

Hệ thống được thiết kế theo các tiêu chuẩn kỹ thuật phần mềm, đảm bảo tính phân tách giữa giao diện người dùng, logic điều hướng và tầng lưu trữ dữ liệu.

Thiết kế cơ sở dữ liệu

Hệ thống sử dụng Microsoft SQL Server làm hệ quản trị cơ sở dữ liệu. Cấu trúc mô hình dữ liệu (Data Model) bao gồm 12 bảng thực thể chính với các thuộc tính cụ thể:

Bảng dữ liệu Các thuộc tính Chức năng lưu trữ
Users IDUser, UserName, Password, Type, DateCreate, FullName, Gender, Birth, Avatar, Address, Phone, Email, IdentityCard, Balance, EmailConfirm Quản lý thông tin tài khoản người dùng, phân quyền và trạng thái xác thực
Category IDCategory, Name, ImageCate Quản lý danh mục hàng hóa cấp 1
SubCategory IDSubCategory, IDCategory, Name, ImageSubCate Quản lý danh mục hàng hóa cấp 2 trực thuộc danh mục cha
Brand IDBrand, IDSubCategory, Name, ImageBrand Quản lý thương hiệu/nhãn hiệu sản phẩm
News IDNews, IDUser, IDBrand, Name, Price, Time, Description, Address, Type, Status Lưu trữ thông tin bài đăng rao vặt, giá cả, thời gian và trạng thái duyệt
ImgNews IDImg, IDNews, ImgURL, NameImages Lưu trữ danh sách hình ảnh minh họa đính kèm của từng bài đăng
Reports IDReports, IDNews, Content, TypeOfReport, Email, Name, Status Tiếp nhận các báo cáo vi phạm, khiếu nại về bài đăng tin rao vặt
RoomChat IDRoom, IDUserA, IDUserB, status Quản lý phòng hội thoại tin nhắn giữa hai người dùng
Message_S IDMessage, IDRoom, Type, Content, Img, Time Lưu trữ chi tiết nội dung tin nhắn, định dạng gửi, hình ảnh và thời gian
Servicess IDService, Name, Price, TotalTime Quản lý thông tin các gói dịch vụ trên hệ thống
HistoryService IDHistoryService, IDUser, IDService, Time Ghi nhận lịch sử giao dịch dịch vụ của người dùng
Blog IDBlog, Author, ImgURL, NameImage, DateCreate, Type, Title, Description, Content, slug Quản lý bài viết tin tức và bài viết chia sẻ trên hệ thống

Tiêu chuẩn thiết kế giao diện người dùng

Giao diện ứng dụng được quy chuẩn hóa nhằm đảm bảo tính nhất quán trong trải nghiệm người dùng:

  • Tiêu chuẩn màn hình:
    • Màn hình chính (1920x1080): Căn lề trái (Left) cho cấu trúc Menu chính.
    • Màn hình tích hợp nhập liệu (1920x1080): Căn lề giữa (Center).
    • Màn hình tích hợp tra cứu (1920x1080): Căn lề giữa (Center).
    • Màn hình thông báo kết quả / Danh sách đơn (1920x1080): Căn lề giữa (Center).
    • Màn hình thông báo (400x600): Căn lề giữa (Center).
  • Tiêu chuẩn Typography và thành phần hiển thị:
    • Phông chữ áp dụng: Roboto cho toàn bộ các thành phần.
    • Tiêu đề: Kích thước 30px, 20px; màu Trắng (White); căn trái (Left); định dạng DxR Text form.
    • Nhãn (Label): Kích thước 16px, 14px, 12px; màu Xám (Gray); căn trái (Left); định dạng DxR Text.
    • Nút bấm (Button): Kích thước 16px, 14px, 12px; màu Đỏ/Xanh dương/Xanh lá (Red/Blue/Green); căn lề Trái/Phải (Left/Right); định dạng DxR Text.
    • Liên kết (Link): Kích thước 10px, 12px, 14px; màu Xanh dương (Blue); căn trái (Left); định dạng Text.
    • Ô nhập liệu (Input Field / Combo box): Kích thước 10px, 12px, 14px; màu Trắng (White); căn trái (Left); định dạng DxR Combo box.

Công cụ phát triển và môi trường triển khai

  • Môi trường phát triển tích hợp (IDE): Eclipse Oxygen 64-bit.
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.
  • Hạ tầng triển khai: Triển khai trực tiếp trên Web Hosting hỗ trợ môi trường chạy ứng dụng.

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

Chương 1: Giới thiệu đề tài

Chương 1 thiết lập cơ sở hình thành đề tài, phân tích tình hình tăng trưởng của thương mại điện tử trong bối cảnh dịch bệnh COVID-19 và tiềm năng của thị trường Internet Việt Nam (49 triệu người dùng Internet, 23 triệu người mua sắm trực tuyến). Chương này xác định rõ mục tiêu xây dựng website Rao Vặt "sạch", hỗ trợ đăng tin miễn phí không giới hạn, phân chia đa ngành hàng và áp dụng quy trình kiểm duyệt tin bài nhanh. Đồng thời, chương 1 vạch ra 4 định hướng giải pháp chính: phát triển giao diện đơn giản, ấn tượng; xây dựng nội dung chỉn chu; cập nhật nội dung thường xuyên; và ứng dụng các công cụ thống kê, đo lường kỹ thuật (Open SEO status, Google Webmaster Tool, Google Analytics).

Chương 2: Khảo sát và phân tích yêu cầu

Chương 2 mô tả chi tiết hiện trạng nghiệp vụ và xây dựng hệ thống yêu cầu chức năng, phi chức năng hoàn chỉnh cho 3 phân hệ/tác nhân:

  • Tác nhân Khách (Guest): Tìm kiếm tin rao vặt, lọc nâng cao theo giá và chất lượng, xem tin theo danh mục phân cấp, xem tin đề xuất, xem chi tiết bài đăng, liên hệ người bán qua số điện thoại trên tin đăng cá nhân, thực hiện đăng ký tài khoản thành viên và lấy lại mật khẩu.
  • Tác nhân Thành viên (Member): Kế thừa toàn bộ quyền của Khách, có thêm quyền đăng tin mới (đính kèm hình ảnh và mô tả chi tiết), quản lý tin cá nhân (chỉnh sửa, ẩn tin, xóa tin sau giao dịch), thêm tin vào danh sách yêu thích, xem danh sách yêu thích, quản lý thông tin cá nhân, gửi tin nhắn trực tiếp đến người bán, bình luận bài đăng và đánh giá chất lượng tin rao vặt theo thang điểm 5 sao.
  • Tác nhân Quản trị viên (Administrator): Quản lý thông tin và tài khoản của các thành viên (thêm, sửa, xóa), xét duyệt các bài đăng tin trước khi hiển thị công khai trên hệ thống, quản lý cấu trúc danh mục và nhãn hiệu tin tức, tạo mới tin bài quản trị.

Chương này cung cấp bảng đặc tả chi tiết kèm sơ đồ hoạt động (Activity Diagram) cho 22 Use Case chính (từ UC01 đến UC22/UC24) cùng thông điệp hệ thống (System Messages) và luồng xử lý ngoại lệ (Exception Flows). Ngoài ra, chương 2 tổng hợp 3 nhóm yêu cầu phi chức năng thông qua các bảng biểu:

* Bảng Yêu cầu tiến hóa:
  - Thay đổi mô tả tin đăng (Nội dung mô tả tin).
  - Thay đổi đơn giá (Giá tiền tin được đăng).
  - Thay đổi thông tin liên hệ (Số điện thoại).
  - Thay đổi địa chỉ mặt hàng đăng tin.

* Bảng Yêu cầu bảo mật:
  - Quản trị hệ thống: Xem người dùng mới và quyền hạn, cung cấp tên/mật khẩu, kiểm tra duyệt tin, kiểm tra thông tin bài đăng.
  - Nhân viên: Thực hiện kiểm tra duyệt tin và kiểm tra thông tin bài đăng.

* Bảng Yêu cầu công nghệ:
  - Dễ sửa lỗi: Thời gian xác định lỗi trung bình trong vòng 15 phút; việc sửa lỗi 1 chức năng không làm ảnh hưởng đến các chức năng khác.
  - Dễ bảo trì: Khả năng thêm mới chức năng nhanh chóng mà không làm gián đoạn các chức năng hiện hữu.

Chương 3: Công nghệ sử dụng

Chương 3 trình bày các nền tảng công nghệ, công cụ lập trình và thư viện phần mềm được áp dụng trong quá trình xây dựng hệ thống, bao gồm môi trường phát triển Eclipse Oxygen 64-bit, hệ quản trị cơ sở dữ liệu SQL Server, chuẩn mã nguồn HTML/JavaScript và mô hình phân tầng xử lý.

Chương 4: Phát triển và triển khai ứng dụng

Chương 4 mô tả toàn diện quá trình hiện thực hóa phần mềm:

  • Thiết kế kiến trúc: Ứng dụng mô hình MVC chia tách 3 tầng (Model, View, Controller) và cơ chế điều hướng dữ liệu thông qua HTTP Request và Routing.
  • Thiết kế chi tiết: Trình bày tiêu chuẩn thiết kế màn hình, quy chuẩn typography với phông chữ Roboto và các giao diện thực tế của hệ thống (Giao diện trang chủ chưa đăng nhập, Đăng tin mới, Chi tiết tin, Quản lý nhãn hiệu, Quản lý danh mục, Quản lý tin, Quản lý danh sách người dùng, Tạo mới tin cho Admin, Xét duyệt tin, Danh sách tin tức mới).
  • Mô hình hóa dữ liệu: Trình bày sơ đồ thực thể liên kết và lược đồ 12 bảng của cơ sở dữ liệu SQL Server.
  • Xây dựng và minh họa chức năng: Tổng hợp các thư viện, kết quả đạt được và minh họa luồng thực thi các chức năng chính trên môi trường web hosting.

Chương 5: Các giải pháp và đóng góp

Chương 5 tổng kết các giải pháp kỹ thuật đã áp dụng để giải quyết bài toán rao vặt trực tuyến và phân công nhiệm vụ cụ thể giữa các thành viên trong nhóm thực hiện:

STT Họ và Tên sinh viên Phân công công việc
1 Nguyễn Lâm Ngọc Phước Xây dựng và thiết kế giao diện Admin, thực hiện thao tác chức năng tương tác của Web với Admin, tích hợp API
2 Hồ Tấn Hùng Xây dựng và thiết kế giao diện, thực hiện thao tác chức năng tương tác của Web với người dùng
3 Ngô Thị Thanh Ngân Xây dựng chức năng Đăng nhập, Đăng ký, thực hiện cấu hình và đưa ứng dụng lên Hosting

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết các kết quả đạt được của đồ án và chỉ ra các hạn chế kỹ thuật cần hoàn thiện trong tương lai.

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

Kết quả đạt được

  • Xây dựng thành công ứng dụng web rao vặt trực tuyến với đầy đủ các chức năng cốt lõi phục vụ người dùng: đăng ký, đăng nhập, tìm kiếm, lọc nâng cao, duyệt theo danh mục, xem chi tiết, đăng tin đính kèm ảnh, ẩn tin và xóa tin.
  • Hoàn thiện phân hệ quản trị (Admin Dashboard) hỗ trợ quản lý thành viên, quản trị danh mục đa cấp (Category, SubCategory, Brand) và module xét duyệt tin đăng tập trung trước khi xuất bản.
  • Thiết kế hệ thống cơ sở dữ liệu quan hệ hoàn chỉnh gồm 12 bảng thực thể đáp ứng khả năng lưu trữ thông tin người dùng, tin đăng, dịch vụ, báo cáo vi phạm và tin nhắn.
  • Đảm bảo các chỉ tiêu kỹ thuật phi chức năng về thời gian định vị lỗi (trung bình dưới 15 phút) và tính độc lập mô-đun hóa giữa các chức năng.

Đóng góp thực tiễn

  • Đưa ra giải pháp website rao vặt "sạch" với cơ chế kiểm duyệt nội dung chủ động từ phía ban quản trị, khắc phục tình trạng tin rác và tin kém chất lượng trên các trang rao vặt tự phát.
  • Phân định rõ ràng trách nhiệm kỹ thuật và hiện thực hóa thành công các giao diện tương tác người dùng - quản trị viên theo chuẩn thiết kế Typography và màn hình thống nhất.

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

Dựa trên nội dung đánh giá tại Chương 6 của đồ án:

  • Hạn chế: Hệ thống mới chỉ hoàn thiện ở mức độ tương đối các chức năng nghiệp vụ chính (đăng tin, duyệt tin, xem chi tiết tin). Một số phân hệ tương tác nâng cao như hệ thống trao đổi tin nhắn trực tiếp, chức năng bình chọn/đánh giá 5 sao và quản lý danh sách yêu thích chưa được triển khai hoàn chỉnh trên môi trường thực tế.
  • Hướng phát triển:
    1. Xây dựng và hoàn thiện chức năng đánh giá tin rao vặt theo thang điểm 5 sao.
    2. Phát triển hoàn chỉnh phân hệ nhắn tin trực tiếp (Chat thời gian thực) giữa người mua và người bán dựa trên mô hình bảng RoomChat và Message_S đã thiết kế.
    3. Hoàn thiện module lưu và quản lý tin rao vặt yêu thích cho người dùng thành viên.
    4. Tích hợp sâu các công cụ phân tích và tối ưu hóa công cụ tìm kiếm (Google Analytics, Google Webmaster Tool, Open SEO status) theo đúng định hướng giải pháp ban đầu.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin khi thực hiện các đồ án môn học (Công nghệ phần mềm nâng cao, Phân tích thiết kế hệ thống) hoặc khóa luận tốt nghiệp về xây dựng sàn thương mại điện tử và cổng thông tin rao vặt.

Các nội dung có giá trị tham khảo cao trong tài liệu:

  • Hệ thống đặc tả Use Case: 22 Use Case được đặc tả chi tiết từ tiền điều kiện (Pre-conditions), hậu điều kiện (Post-conditions), luồng sự kiện chính (Main Flow), luồng ngoại lệ (Exception Flow) đến các thông điệp hệ thống (System Messages).
  • Mô hình dữ liệu quan hệ SQL Server: Cấu trúc 12 bảng thực thể được thiết kế đầy đủ các khóa chính, khóa ngoại phục vụ quản lý bài đăng, phân cấp danh mục, nhãn hiệu và lưu trữ lịch sử dịch vụ.
  • Tiêu chuẩn thiết kế giao diện (UI Standards): Bảng quy chuẩn kích thước màn hình và thông số Typography (kích cỡ phông chữ, màu sắc, căn lề theo định dạng đối tượng) có tính ứng dụng thực tiễn cao trong thiết kế phần mềm.

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

1. Hệ thống cơ sở dữ liệu của ứng dụng Rao Vặt gồm những bảng thực thể nào?
Hệ thống sử dụng Microsoft SQL Server với 12 bảng dữ liệu chính, bao gồm: Category, SubCategory, Brand, News, Reports, ImgNews, Users, RoomChat, Message_S, HistoryService, Servicess và Blog.

2. Tiêu chuẩn thiết kế Typography trên giao diện website quy định loại phông chữ và kích thước như thế nào?
Hệ thống sử dụng đồng nhất phông chữ Roboto. Cụ thể: Tiêu đề sử dụng kích thước 30px hoặc 20px (màu Trắng); Nhãn (Label) và Nút bấm (Button) sử dụng kích thước 16px, 14px, 12px; Liên kết (Link) và Ô nhập liệu sử dụng kích thước 10px, 12px, 14px.

3. Yêu cầu công nghệ và khả năng sửa lỗi của phần mềm được quy định với chỉ số thời gian nào?
Theo Bảng 3 (Danh sách yêu cầu công nghệ) của đồ án, hệ thống phải đáp ứng khả năng dễ sửa lỗi với thời gian xác định lỗi trung bình trong vòng 15 phút, đồng thời việc sửa lỗi ở một chức năng không được làm ảnh hưởng đến các chức năng khác.

4. Phân công nhiệm vụ cụ thể giữa ba sinh viên thực hiện đề tài như thế nào?
Sinh viên Nguyễn Lâm Ngọc Phước đảm nhiệm thiết kế giao diện Admin, thực hiện các tương tác chức năng cho Admin và tích hợp API. Sinh viên Hồ Tấn Hùng phụ trách thiết kế giao diện và xây dựng các chức năng tương tác phía người dùng. Sinh viên Ngô Thị Thanh Ngân phụ trách module Đăng nhập, Đăng ký và cấu hình triển khai hệ thống lên Web Hosting.

Kết luận

Đồ án "Ứng dụng đăng tin Rao Vặt" của nhóm sinh viên Trường ĐH Ngoại ngữ – Tin học TP.HCM đã phân tích và xây dựng hoàn chỉnh một giải pháp website thương mại điện tử phục vụ nhu cầu đăng tin và trao đổi hàng hóa trực tuyến. Ứng dụng áp dụng kiến trúc phần mềm MVC, cơ sở dữ liệu Microsoft SQL Server 12 bảng thực thể và quy chuẩn giao diện người dùng rõ ràng. Toàn bộ quy trình nghiệp vụ từ quản lý tài khoản, đăng tin đa danh mục đến xét duyệt tin bài của quản trị viên đã được mô hình hóa và hiện thực hóa thành công, tạo nền tảng cho việc mở rộng các tính năng tương tác chuyên sâu trong tương lai.