Bối cảnh và vấn đề nghiên cứu
Khóa luận tốt nghiệp "Ứng dụng Framework CodeIgniter trong việc xây dựng website đăng tin rao vặt" được sinh viên Võ Văn Hòa (ngành Công nghệ thông tin, Trường Đại học Quảng Nam) thực hiện dưới sự hướng dẫn của ThS. Hồ Hữu Linh vào tháng 04 năm 2017.
Về bối cảnh thực tiễn, tác giả chỉ ra rằng trong đời sống xã hội, nhu cầu trao đổi và cập nhật thông tin mua bán luôn là động lực chính thúc đẩy sản xuất và tiêu dùng. Tuy nhiên, phương thức giao dịch truyền thống bộc lộ nhiều điểm hạn chế: người mua và người bán phải trực tiếp tìm gặp nhau tại chợ, siêu thị hoặc cửa hàng; việc quản lý các giao dịch rao vặt chủ yếu thực hiện thủ công trên sổ sách, giấy tờ và viết hóa đơn trực tiếp. Tình trạng thiếu hụt kênh truyền dẫn thông tin dẫn đến khó khăn trong phân phối hàng hóa, tốn kém chi phí đi lại và gây lãng phí nguồn lực xã hội. Sự phát triển của mạng Internet mở ra khả năng thiết lập các hệ thống thương mại và dịch vụ trực tuyến chạy trên nền tảng web, giúp việc phát tán tin tức, tìm kiếm sản phẩm và kết nối cung - cầu diễn ra nhanh chóng, tiện lợi và tiết kiệm hơn. Từ yêu cầu thực tế đó, tác giả lựa chọn xây dựng website rao vặt nhằm cung cấp giải pháp đăng tải thông tin mua, bán, trao đổi sản phẩm và các dịch vụ việc làm, tư vấn, cho thuê.
Mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể gồm 3 nhiệm vụ:
- Tìm hiểu về ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL.
- Tìm hiểu về Framework CodeIgniter.
- Xây dựng website đăng tin rao vặt.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Framework CodeIgniter, ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL và các mô hình bán hàng, giao dịch qua mạng.
- Phạm vi nghiên cứu: Tập trung vào kỹ thuật lập trình ứng dụng web bằng PHP kết hợp Framework CodeIgniter và cơ sở dữ liệu quan hệ MySQL; triển khai thử nghiệm hệ thống website đăng tin rao vặt trên môi trường máy chủ cục bộ (localhost qua gói phần mềm XAMPP).
Cơ sở lý thuyết và công nghệ áp dụng
Đề tài vận dụng lý thuyết phát triển ứng dụng web động dựa trên ngăn xếp công nghệ mã nguồn mở phổ biến:
- Ngôn ngữ kịch bản PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản chạy phía máy chủ (server-side) chuyên dùng để sinh mã HTML trả về cho trình duyệt máy khách (client). Tác giả phân tích cấu trúc một tệp tin
.php bao gồm văn bản thuần, các thẻ định dạng HTML và các khối mã lệnh PHP đặt trong cặp thẻ <?php ... ?>. Cơ chế vận hành được mô tả qua quy trình: Web Server tiếp nhận yêu cầu từ client, triệu gọi PHP Engine để biên dịch và thực thi mã kịch bản, sau đó trả dữ liệu HTML về cho người dùng.
- Hệ quản trị cơ sở dữ liệu MySQL: Hệ thống quản trị cơ sở dữ liệu quan hệ dạng máy chủ (server-based), lưu trữ dữ liệu dưới dạng bảng quan hệ, sử dụng ngôn ngữ truy vấn có cấu trúc (SQL), có cơ chế phân quyền bảo mật tài khoản (username/password), tốc độ truy xuất nhanh và khả năng xử lý đồng thời nhiều kết nối từ client.
- Môi trường tích hợp XAMPP: Bộ công cụ tích hợp sẵn máy chủ web Apache, hệ quản trị MySQL/MariaDB và bộ thông dịch PHP, hỗ trợ công cụ đồ họa phpMyAdmin để quản lý cơ sở dữ liệu với bảng mã
utf8_unicode_ci.
- Mô hình kiến trúc MVC (Model - View - Controller): Mô hình phân tách cấu trúc phần mềm thành ba thành phần độc lập:
- Model (M): Thành phần phụ trách tương tác trực tiếp với cơ sở dữ liệu MySQL, thực hiện các truy vấn đọc/ghi.
- View (V): Thành phần giao diện hiển thị, cấu thành từ mã HTML và CSS, tiếp nhận dữ liệu được điều phối từ Controller để hiển thị cho người dùng.
- Controller (C): Bộ xử lý trung tâm, tiếp nhận yêu cầu từ người dùng, gọi các phương thức xử lý tương ứng ở Model và phân phối kết quả ra View.
- Framework CodeIgniter: Khung làm việc mã nguồn mở cho PHP xây dựng theo mô hình MVC, cung cấp cấu trúc thư mục rõ ràng (
application/config, application/controllers, application/models, application/views), cơ chế bộ đệm trang (cache page) và các thư viện hàm tiện ích. Để kết nối hệ thống, tác giả thực hiện cấu hình tại hai tệp tin: config.php (thiết lập đường dẫn base_url, cấu hình xóa tiền tố index.php) và database.php (khai báo các thông số hostname, username, password, database).
- Các hàm xử lý cơ sở dữ liệu trong CodeIgniter: Khóa luận liệt kê chi tiết các hàm truy vấn Active Record được CodeIgniter hỗ trợ:
result(): Trả về một mảng chứa các đối tượng (objects).
result_array(): Trả về một mảng thuần chứa các bản ghi kết quả.
row(): Trả về một hàng kết quả đơn lẻ dưới dạng đối tượng.
row_array(): Trả về một hàng kết quả đơn lẻ dưới dạng mảng kết hợp.
num_rows(): Đếm và trả về tổng số dòng dữ liệu thu được từ câu truy vấn.
free_result(): Giải phóng bộ nhớ liên kết với kết quả truy vấn sau khi xử lý xong nhiều lệnh truy vấn liên tiếp.
- Các hàm điều hướng con trỏ bản ghi:
first_row(), last_row(), next_row(), previous_row().
Phương pháp nghiên cứu thực tế được áp dụng gồm: phương pháp thu thập và nghiên cứu tài liệu chuyên khảo về PHP, MySQL, CodeIgniter qua sách báo và Internet; phương pháp phân tích thiết kế hướng đối tượng (sử dụng sơ đồ Use Case, thẻ CRC, sơ đồ tuần tự và sơ đồ hoạt động).
Nguồn dữ liệu trong khóa luận bao gồm tài liệu kỹ thuật của Framework CodeIgniter, tài liệu hướng dẫn lập trình PHP & MySQL, cùng bộ dữ liệu thực nghiệm do tác giả tự thiết lập trong cơ sở dữ liệu phục vụ việc kiểm thử các chức năng của website.
Thiết kế và triển khai hệ thống
1. Khảo sát nghiệp vụ và xác định tác nhân
Hệ thống được thiết kế nhằm thay thế quy trình quản lý bằng giấy tờ và phương thức giao dịch trực tiếp. Hệ thống mới xác định ba tác nhân (actors) chính tham gia vận hành:
| Tác nhân |
Phân quyền và phạm vi chức năng |
| Khách (Guest / User) |
Xem thông tin rao vặt, đăng ký thành viên, đăng nhập hệ thống, trực tiếp tạo tin đăng rao vặt, nộp thẻ/thanh toán trực tuyến. |
| Nhân viên |
Mang đầy đủ quyền hạn của người dùng, thực hiện đăng tin và chịu trách nhiệm quản lý, rà soát các tin đăng phát sinh trong ngày. |
| Quản trị viên (Admin) |
Trực tiếp điều hành hệ thống; quản lý toàn bộ tin đăng, tài khoản quản trị, tài khoản người dùng, danh mục, bình luận, đánh giá, mục đích và địa điểm. |
2. Thiết kế chức năng và ca sử dụng (Use Case)
Tác giả nhóm các chức năng thành từng gói ca sử dụng:
- Gói đăng tin: Tìm kiếm tin đăng (Uc1), Đăng tin (Uc2), Thanh toán trực tuyến (Uc3).
- Gói quản lý tin đăng (news): Thêm mới, Sửa thông tin, Xóa, Tìm kiếm tin đăng.
- Gói quản lý tài khoản quản trị (account): Thêm mới, Sửa, Xóa, Tìm kiếm tài khoản admin.
- Gói quản lý người dùng (users): Thêm mới, Sửa, Xóa, Tìm kiếm người dùng.
- Gói quản lý danh mục (category): Thêm mới, Sửa, Tìm kiếm danh mục.
- Gói quản lý địa điểm (place): Thêm mới, Sửa, Xóa, Tìm kiếm địa điểm.
- Gói quản lý bình luận (comment): Xóa bình luận, Tìm kiếm.
- Gói quản lý đánh giá (notable): Xóa đánh giá, Tìm kiếm.
- Gói quản lý mục đích (purpose): Thêm mới, Sửa, Xóa, Tìm kiếm mục đích rao vặt.
- Gói đăng nhập: Đăng nhập hệ thống (Uc1).
Khóa luận lập bảng đặc tả chi tiết cho 11 ca sử dụng trọng tâm: Đăng nhập (ID: 1), Đăng ký (ID: 3), Đăng tin rao vặt (ID: 2), Quản lý tài khoản admin, Quản lý danh mục, Quản lý tin, Quản lý người dùng, Quản lý bình luận, Quản lý mục đích, Quản lý đánh giá, Quản lý địa điểm (đều mang ID định danh nhóm quản trị). Mỗi ca sử dụng xác định rõ tác nhân, mô tả vắn tắt, điều kiện khởi sự, mối quan hệ liên kết (Include, Extend, Association), luồng sự kiện thông thường và luồng sự kiện ngoại lệ khi thông tin không hợp lệ.
3. Mô hình hóa cấu trúc và dữ liệu
Hệ thống được mô hình hóa qua thẻ trách nhiệm cộng tác lớp CRC (Class-Responsibility-Collaboration) cho các lớp thực thể: Quản trị (Account), Tài khoản (Users), Danh mục (Category), Tin (News), Bình luận (Comment), Mục đích (Purpose), Đánh giá (Notable), Địa điểm (Place).
Lớp Quản trị (Account) bao gồm các thuộc tính định danh: Id (mã tài khoản), Name (tên đăng nhập), Pass (mật khẩu), Fullname (họ tên đầy đủ), Gmail (hộp thư điện tử), Address (địa chỉ) và Surpuse (số dư tài khoản).
Cơ sở dữ liệu quan hệ được ánh xạ thành 8 bảng dữ liệu:
News: Lưu trữ thông tin chi tiết các bài đăng tin rao vặt.
Account: Quản lý tài khoản nhân viên và quản trị viên hệ thống.
Users: Lưu trữ hồ sơ người dùng/khách hàng đăng ký thành viên.
Category: Phân loại nhóm ngành hàng, sản phẩm rao vặt.
Place: Danh mục địa phương, khu vực địa lý diễn ra giao dịch.
Comment: Quản lý nội dung bình luận phản hồi của người xem tin.
Notable: Lưu trữ thông tin và điểm đánh giá mức độ uy tín của tin đăng.
Purpose: Xác định mục đích bài đăng (mua, bán, thuê, cho thuê, tìm việc).
4. Thiết kế hành vi và giao diện chương trình
Hành vi tương tác được biểu diễn bằng các biểu đồ tuần tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram) cho 4 kịch bản cốt lõi: Đăng nhập, Đăng ký, Tìm kiếm và Đăng tin.
Giao diện ứng dụng được tác giả lập trình hoàn thiện với các phân hệ màn hình cụ thể:
- Màn hình Đăng nhập và Đăng ký: Cung cấp biểu mẫu kiểm tra tính hợp lệ của tài khoản.
- Trang chủ website: Trình bày danh sách tin rao vặt nổi bật, thanh tìm kiếm và cây danh mục.
- Trang Đăng tin: Biểu mẫu nhập tiêu đề, danh mục, mục đích, địa điểm, nội dung mô tả sản phẩm.
- Trang Nộp thẻ: Cho phép thành viên nộp thẻ trực tuyến để gia tăng số dư (
Surpuse) phục vụ dịch vụ đăng tin.
- Trang Chi tiết: Hiển thị toàn bộ thông số sản phẩm, địa chỉ người đăng, phần bình luận và đánh giá.
- Trang Danh mục: Lọc tin rao vặt theo từng chuyên mục hàng hóa cụ thể.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết của đề tài
Chương 1 hệ thống hóa toàn bộ nền tảng công nghệ phục vụ xây dựng đồ án. Mở đầu bằng lý thuyết ngôn ngữ lập trình PHP, bao gồm khái niệm, cấu trúc tệp kết hợp HTML và cơ chế biên dịch thông qua Web Server và PHP Engine. Tiếp theo, tác giả trình bày hệ quản trị cơ sở dữ liệu quan hệ MySQL, nhấn mạnh các đặc tính như tốc độ cao, khả năng tương thích đa nền tảng, cơ chế bảo mật tài khoản và hỗ trợ chuẩn truy vấn SQL. Tác giả hướng dẫn chi tiết quy trình cài đặt môi trường phát triển cục bộ bằng XAMPP, cách khởi chạy dịch vụ Apache/MySQL, cùng thao tác tạo cơ sở dữ liệu QuanLyBanHang với bảng mã utf8_unicode_ci trên phpMyAdmin. Phần sau của chương đi sâu vào Framework CodeIgniter, giải thích nguyên lý phân tách 3 lớp của mô hình MVC (Model, View, Controller), các bước cấu hình tệp config.php và database.php để kết nối cơ sở dữ liệu raovat_data. Cuối chương là danh mục và cú pháp thực thi các hàm truy vấn dữ liệu tiêu biểu của CodeIgniter (result(), result_array(), row(), row_array(), num_rows(), free_result()).
Chương 2: Khảo sát, phân tích và thiết kế hệ thống
Chương 2 mô tả quá trình chuyển dịch từ bài toán thực tế sang thiết kế kỹ thuật. Khảo sát hiện trạng chỉ rõ những bất cập của phương thức mua bán truyền thống và việc quản lý thủ công trên sổ sách, từ đó đưa ra yêu cầu xây dựng website đăng tin trực tuyến cho phép đăng tin, xem tin và thanh toán số dư. Tác giả xác định 3 nhóm tác nhân chính (Khách, Nhân viên, Quản trị viên), phân rã hệ thống thành 10 gói ca sử dụng và chi tiết hóa bằng sơ đồ Use Case tổng quát cùng 8 sơ đồ Use Case phân hệ. Đi kèm với đó là 11 bảng đặc tả Use Case đầy đủ các luồng sự kiện chính và ngoại lệ. Về mặt cấu trúc, chương xác định các lớp thực thể, lập thẻ CRC cho từng lớp (lớp quản trị, tài khoản, danh mục, tin, bình luận, mục đích, đánh giá, địa điểm), đồng thời thiết kế mô hình CSDL quan hệ gồm 8 bảng thực thể tương ứng. Cuối chương, các biểu đồ tuần tự và biểu đồ hoạt động được thiết lập để mô tả chi tiết luồng xử lý dữ liệu cho các phương thức đăng nhập, đăng ký, tìm kiếm và đăng tin.
Chương 3: Website đăng tin rao vặt
Chương 3 trình bày các sản phẩm phần mềm cụ thể đã hoàn thành sau quá trình mã hóa. Tác giả giới thiệu cấu trúc các màn hình giao diện đã triển khai trên trình duyệt web, bao gồm: giao diện trang chủ, giao diện đăng nhập hệ thống, giao diện đăng ký tài khoản thành viên, giao diện biểu mẫu đăng tin rao vặt, giao diện nộp thẻ trực tuyến, giao diện hiển thị chi tiết nội dung tin đăng và giao diện duyệt tin theo danh mục phân loại. Bên cạnh việc minh chứng kết quả chạy thực tế của chương trình, chương này tổng kết những kết quả kỹ thuật đạt được, chỉ ra các mặt hạn chế còn tồn tại và vạch ra định hướng phát triển hoàn thiện hệ thống trong tương lai.
Kết quả và đóng góp
1. Kết quả đạt được
Dựa trên các mục tiêu đã đề ra, khóa luận đã hoàn thành các nội dung:
- Nắm vững kiến thức nền tảng và cơ chế hoạt động của ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu quan hệ MySQL và mô hình phân tầng MVC.
- Khảo sát thực tế và phân tích thiết kế hoàn chỉnh hệ thống thông tin đăng tin rao vặt bằng các công cụ UML: 11 bảng đặc tả ca sử dụng, sơ đồ Use Case tổng quát và chi tiết, 8 thẻ CRC phân định trách nhiệm lớp, lược đồ CSDL quan hệ chuẩn hóa gồm 8 bảng dữ liệu (
News, Account, Users, Category, Place, Comment, Notable, Purpose), cùng hệ thống biểu đồ tuần tự và biểu đồ hoạt động.
- Triển khai cài đặt, cấu hình thành công Framework CodeIgniter (phiên bản v3.0 / v2.x) kết nối với MySQL trên máy chủ ảo XAMPP localhost.
- Lập trình xây dựng hoàn chỉnh website đăng tin rao vặt với đầy đủ các giao diện tương tác: hiển thị danh mục tin, đăng ký, đăng nhập tài khoản, biểu mẫu đăng bài, xem chi tiết tin đăng và chức năng nộp thẻ tăng số dư.
2. Đóng góp của đề tài
Theo tự đánh giá của tác giả trong văn bản, đề tài mang lại những giá trị cụ thể:
- Cung cấp tài liệu tổng hợp về mặt lý thuyết và phương pháp thực hành kết hợp giữa ngôn ngữ PHP, hệ quản trị MySQL và Framework CodeIgniter.
- Cung cấp một nền tảng ứng dụng thiết thực phục vụ việc xây dựng website giao dịch điện tử, mang đến giải pháp phân phối thông tin thương mại trực tuyến nhanh chóng, tiết kiệm thời gian và chi phí so với hình thức truyền thống.
- Cung cấp tài liệu tham khảo cụ thể cho sinh viên Khoa Công nghệ thông tin - Trường Đại học Quảng Nam khi tiếp cận, tìm hiểu lĩnh vực thiết kế website và ứng dụng mô hình MVC vào đồ án thực tế.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận thẳng thắn nêu rõ các hạn chế xuất phát từ việc tác giả mới bước đầu làm quen với công tác nghiên cứu khoa học, đồng thời kiến thức và kinh nghiệm thực tế còn có phần hạn chế:
- Hệ thống mới dừng lại ở mức độ triển khai thử nghiệm trên môi trường cục bộ (localhost qua phần mềm XAMPP), chưa được xuất bản và vận hành thực tế trên môi trường mạng Internet với máy chủ thương mại.
- Chức năng thanh toán trực tuyến mới được mô phỏng dưới dạng giao diện nộp thẻ để cộng số dư vào tài khoản (
Surpuse), chưa tích hợp liên kết trực tiếp với các cổng thanh toán ngân hàng hoặc ví điện tử theo chuẩn bảo mật chuyên sâu.
- Các chức năng quản trị hệ thống chủ yếu bao quát các thao tác thêm, sửa, xóa, tìm kiếm dữ liệu cơ bản, chưa có các thuật toán lọc nội dung tự động hoặc kiểm duyệt tin rác nâng cao.
Hướng phát triển tiếp theo được tác giả định hướng gồm:
- Tiếp tục nghiên cứu hoàn thiện và tối ưu hóa các chức năng của hệ thống website đăng tin rao vặt.
- Cải tiến giao diện người dùng theo hướng thân thiện, tiện ích hơn.
- Mở rộng chức năng thanh toán trực tuyến an toàn và triển khai website lên máy chủ Internet thực tế nhằm phục vụ nhu cầu giao dịch của người dùng trong xã hội.
Giá trị tham khảo
Báo cáo khóa luận có giá trị tham khảo thiết thực đối với:
- Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Đề tài là tài liệu mẫu về việc thực hiện đồ án tốt nghiệp ứng dụng web từ khâu khảo sát nghiệp vụ, phân tích thiết kế hệ thống theo phương pháp hướng đối tượng đến khâu hiện thực hóa mã nguồn.
- Người học lập trình web PHP: Tài liệu cung cấp cách tiếp cận mạch lạc về cách tổ chức mô hình MVC thông qua Framework CodeIgniter, đặc biệt là cách thức tổ chức tệp tin cấu hình (
config.php, database.php) và kỹ thuật khai thác các hàm truy vấn dữ liệu chuẩn (result(), result_array(), row(), row_array(), free_result()).
- Nghiên cứu phân tích thiết kế hệ thống thông tin: Các phần đặc tả 11 Use Case, cấu trúc 8 thẻ CRC và lược đồ 8 bảng CSDL quan hệ trong Chương 2 là nguồn tham khảo hữu ích cho việc xây dựng tài liệu kỹ thuật của các dự án phần mềm có quy mô vừa và nhỏ.
Câu hỏi thường gặp
1. Hệ thống website đăng tin rao vặt xác định những tác nhân nào và quyền hạn của từng tác nhân ra sao?
Hệ thống xác định 3 tác nhân chính:
- Khách: Xem thông tin rao vặt, đăng ký thành viên, đăng nhập, trực tiếp đăng tin và nộp thẻ/thanh toán trực tuyến.
- Nhân viên: Mang toàn bộ quyền của khách, thực hiện đăng tin và chịu trách nhiệm quản lý tin đăng trong ngày.
- Quản trị viên: Nắm toàn quyền hệ thống, quản lý tin đăng, tài khoản quản trị, người dùng, danh mục, bình luận, đánh giá, mục đích và địa điểm.
2. Mô hình MVC được phân chia như thế nào trong Framework CodeIgniter theo mô tả của tác giả?
Mô hình MVC phân chia cấu trúc mã nguồn thành 3 thành phần riêng biệt:
- Model (M): Tương tác trực tiếp với cơ sở dữ liệu MySQL, thực hiện các thao tác truy vấn và xử lý dữ liệu.
- View (V): Giao diện hiển thị tới người dùng, chứa các mã HTML/CSS nhận dữ liệu điều phối từ Controller để hiển thị.
- Controller (C): Bộ xử lý trung tâm, tiếp nhận yêu cầu từ người dùng, gọi Model tương ứng để lấy dữ liệu và phân phối kết quả xuất ra View.
3. Cơ sở dữ liệu của hệ thống bao gồm những bảng quan hệ nào?
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL bao gồm 8 bảng dữ liệu: News (tin đăng rao vặt), Account (tài khoản quản trị/nhân viên), Users (tài khoản khách hàng), Category (danh mục hàng hóa), Place (địa điểm rao vặt), Comment (bình luận), Notable (đánh giá tin) và Purpose (mục đích đăng tin).
4. Để kết nối cơ sở dữ liệu MySQL trong CodeIgniter, tác giả đã tiến hành cấu hình ở những tệp tin nào?
Tác giả chỉnh sửa 2 tệp tin trong thư mục application/config:
- Tệp
config.php: Khai báo đường dẫn gốc $config['base_url'] và cấu hình bỏ tiền tố index qua $config['index_page'] = ''.
- Tệp
database.php: Khai báo các thông số kết nối gồm hostname (localhost), username (root), password (để trống khi chạy XAMPP) và database (tên cơ sở dữ liệu, ví dụ raovat_data).
5. Những hàm nào trong CodeIgniter được tác giả phân tích để lấy dữ liệu từ cơ sở dữ liệu?
Khóa luận liệt kê chi tiết các hàm truy vấn: result() (trả về mảng đối tượng), result_array() (trả về mảng thuần), row() (trả về một dòng đối tượng), row_array() (trả về một dòng mảng), num_rows() (đếm số hàng kết quả), free_result() (giải phóng bộ nhớ truy vấn) cùng các hàm điều hướng con trỏ bản ghi (first_row(), last_row(), next_row(), previous_row()).
Kết luận
Khóa luận tốt nghiệp của sinh viên Võ Văn Hòa đã giải quyết hoàn chỉnh bài toán xây dựng cổng thông tin đăng tin rao vặt trực tuyến dựa trên Framework CodeIgniter và hệ quản trị cơ sở dữ liệu MySQL. Công trình hoàn thành đầy đủ các giai đoạn từ khảo sát hiện trạng, phân tích nghiệp vụ, mô hình hóa dữ liệu hướng đối tượng bằng sơ đồ ca sử dụng, thẻ CRC đến hiện thực hóa mã nguồn các phân hệ chức năng trên nền tảng MVC. Mặc dù hệ thống mới vận hành ở quy mô thử nghiệm máy chủ cục bộ và mô phỏng giao dịch nộp thẻ, kết quả nghiên cứu đã cung cấp một sản phẩm ứng dụng rõ ràng cùng tài liệu kỹ thuật có giá trị tham khảo học thuật tốt cho sinh viên ngành Công nghệ thông tin.