Giới thiệu dự án

Sự bùng nổ của thương mại điện tử và nhu cầu trao đổi thông tin số hóa đã thay đổi hoàn toàn hành vi mua bán của người tiêu dùng hiện đại. Theo các báo cáo về kinh tế số tại Việt Nam, tốc độ tăng trưởng của thương mại điện tử C2C (Customer-to-Customer) và B2C (Business-to-Customer) liên tục duy trì mức trên 20-25%/năm. Việc phân phối thông tin sản phẩm thông qua các kênh truyền thống như chợ, báo giấy hay hình thức gặp mặt trực tiếp bộc lộ nhiều điểm nghẽn: bán kính tiếp cận hạn chế (thường dưới 10km), chi phí in ấn tốn kém, độ trễ phát hành tin từ 1 đến 3 ngày và hoàn toàn thiếu tính tương tác hai chiề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" do sinh viên Võ Văn Hòa thực hiện dưới sự hướng dẫn của ThS. Hồ Hữu Linh tại Khoa Công nghệ Thông tin – Trường Đại học Quảng Nam, giải quyết bài toán cốt lõi: loại bỏ rào cản địa lý và chi phí trung gian bằng cách cung cấp một nền tảng giao dịch trực tuyến gọn nhẹ, tối ưu tài nguyên và dễ vận hành.

+-----------------------------------------------------------------------+
|                            MỤC TIÊU DỰ ÁN                             |
+-----------------------------------------------------------------------+
| 1. Nghiên cứu kiến trúc Model-View-Controller (MVC) của CodeIgniter   |
| 2. Chuẩn hóa cơ sở dữ liệu quan hệ MySQL cho 8 thực thể cốt lõi       |
| 3. Xây dựng website phân quyền 3 cấp (Khách, Nhân viên, Quản trị viên)|
| 4. Tối ưu hiệu năng truy vấn và giải phóng tài nguyên bộ nhớ máy chủ  |
+-----------------------------------------------------------------------+

Dự án lựa chọn ngăn xếp công nghệ PHP kết hợp Framework CodeIgniter 3.0 và hệ quản trị cơ sở dữ liệu MySQL (LAMP/WAMP stack). Đây là giải pháp phù hợp với hạ tầng máy chủ phổ thông nhờ dung lượng framework siêu nhẹ (dưới 3MB core), thời gian khởi tạo (footprint) cực thấp, tích hợp sẵn tầng bảo mật (xác thực dữ liệu, chống tấn công XSS, SQL Injection) và bộ công cụ Active Record trực quan.

Phạm vi và giới hạn:

  • Phạm vi nghiên cứu: Xây dựng hệ sinh thái đăng tin rao vặt đa danh mục (bất động sản, đồ điện tử, phương tiện, việc làm, dịch vụ) tại khu vực Quảng Nam và các tỉnh lân cận; triển khai cơ chế nộp thẻ tích điểm và phân cấp kiểm duyệt.
  • Giới hạn hệ thống: Khóa luận tập trung kiểm thử trên môi trường máy chủ cục bộ (Localhost qua XAMPP); cơ chế thanh toán dừng lại ở mô hình quy đổi thẻ cào nội bộ, chưa tích hợp cổng thanh toán trực tiếp của ngân hàng quốc tế qua API Webhook.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thực tế các hình thức truyền thông tin mua bán cho thấy những ưu và nhược điểm rõ rệt giữa các mô hình vận hành:

Tiêu chí Rao vặt truyền thống (Báo giấy, Chợ) Diễn đàn / Forum mã nguồn mở (vBulletin, XenForo) Nền tảng chuyên biệt trên CodeIgniter
Chi phí vận hành Rất cao (in ấn, phân phối vật lý) Trung bình (cần tài nguyên server lớn) Thấp (chạy mượt trên shared hosting)
Độ trễ thông tin 24h – 72h Gần thời gian thực Thời gian thực (Real-time update)
Trải nghiệm người dùng Thụ động, không có tìm kiếm Phức tạp, giao diện nặng nề Trực quan, tối ưu cho luồng đăng tin
Khả năng mở rộng module Không thể Phụ thuộc plugin bên thứ ba Tự do cấu hình theo kiến trúc MVC
Tốc độ tải trang trung bình Không áp dụng 2.5s – 4.2s 0.8s – 1.4s

Phân loại yêu cầu người dùng theo mô hình MoSCoW:

  • Must Have (Bắt buộc có): Hệ thống xác thực (Đăng ký, Đăng nhập); Đăng tin rao vặt phân loại theo danh mục (Category) và địa phương (Place); Module quản trị CRUD cho Quản trị viên (News, Account, Users).
  • Should Have (Nên có): Tính năng nạp thẻ cộng số dư tài khoản (Surplus); Module đánh giá mức độ uy tín (Notable); Module bình luận tương tác (Comment); Cơ chế phân loại mục đích (Purpose: Cần mua, Cần bán, Cho thuê).
  • Could Have (Có thể có): Lọc tin đa tiêu chí kết hợp; Thống kê số lượt xem tin đăng.
  • Won't Have (Chưa thực hiện ở giai đoạn này): Chat thời gian thực qua WebSocket; Thanh toán tự động qua cổng thẻ Visa/Mastercard.

Thiết kế hệ thống

Kiến trúc phần mềm được xây dựng theo mô hình Model-View-Controller (MVC), tách biệt hoàn toàn giữa giao diện hiển thị, logic điều khiển nghiệp vụ và tầng thao tác cơ sở dữ liệu:

graph TD
    User([Người dùng / Web Browser]) <-->|HTTP Request / Response| WebServer[Apache Web Server 2.4]
    
    subgraph CodeIgniter Framework Architecture
        WebServer <-->|Routing & Index.php| Controller[Controller Layer<br/>Xử lý nghiệp vụ, kiểm tra phiên]
        Controller -->|Gửi dữ liệu đã xử lý| View[View Layer<br/>Giao diện HTML5/CSS3/JS]
        View -->|Render giao diện| WebServer
        Controller <-->|Active Record / Query| Model[Model Layer<br/>Xử lý logic dữ liệu]
    end
    
    subgraph Data Tier
        Model <-->|SQL Queries / PDO| MySQL[(MySQL Database<br/>Storage Engine: InnoDB)]
    end

Technology Stack chi tiết:

  • Ngôn ngữ lập trình Backend: PHP phiên bản 5.6/7.0
  • Web Framework: CodeIgniter 3.0.x
  • Hệ quản trị CSDL: MySQL Community Server 5.7 (InnoDB Engine, Bảng mã utf8_unicode_ci)
  • Môi trường máy chủ phát triển: Apache 2.4 tích hợp trong gói XAMPP Server
  • Frontend: HTML5, CSS3, JavaScript, jQuery, Responsive Layout
-- Cấu trúc bảng News (Tin rao vặt cốt lõi)
CREATE TABLE `News` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(255) NOT NULL,
  `content` TEXT NOT NULL,
  `price` DOUBLE NOT NULL DEFAULT 0,
  `user_id` INT(11) NOT NULL,
  `cat_id` INT(11) NOT NULL,
  `place_id` INT(11) NOT NULL,
  `purpose_id` INT(11) NOT NULL,
  `status` TINYINT(1) NOT NULL DEFAULT 0,
  `created_at` DATETIME NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_news_user` (`user_id`),
  KEY `fk_news_cat` (`cat_id`),
  KEY `fk_news_place` (`place_id`),
  KEY `fk_news_purpose` (`purpose_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Hệ thống quản lý 8 bảng dữ liệu quan hệ:

  1. Account: Quản lý tài khoản cán bộ quản trị/nhân viên với các trường id, name, pass, fullname, gmail, address, surplus.
  2. Users: Lưu trữ thông tin định danh của khách hàng đăng tin.
  3. News: Bảng trung tâm chứa nội dung tin, giá, trạng thái duyệt và liên kết ngoại.
  4. Category: Danh mục ngành hàng phân cấp.
  5. Place: Danh mục địa lý (tỉnh, huyện/thành phố).
  6. Purpose: Loại hình tin đăng (Mua, Bán, Cần thuê, Cho thuê).
  7. Comment: Bình luận phản hồi của người dùng trên từng bài viết.
  8. Notable: Đánh giá chất lượng và độ uy tín của tin đăng.

Methodology

Dự án áp dụng phương pháp phát triển phần mềm theo mô hình Thác nước mở rộng (Iterative Waterfall Model) chia làm 4 giai đoạn cụ thể:

+---------------------------------------------------------------------------+
|                            PROJECT ROADMAP                                |
+---------------------------------------------------------------------------+
| Giai đoạn 1: Khảo sát & Phân tích nghiệp vụ, vẽ Use Case (Tuần 1 - Tuần 3)|
| Giai đoạn 2: Thiết kế CSDL, CRC Cards & Thiết lập CodeIgniter (Tuần 4 - 6)|
| Giai đoạn 3: Hiện thực mã nguồn Controller/Model/View (Tuần 7 - Tuần 11)  |
| Giai đoạn 4: Kiểm thử chức năng, tối ưu truy vấn & Đóng gói (Tuần 12 - 14)|
+---------------------------------------------------------------------------+

Ma trận đánh giá và giảm thiểu rủi ro:

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu (Mitigation Strategy)
SQL Injection qua Form đầu vào Cao Sử dụng cơ chế Query Binding và Active Record của CodeIgniter
Tấn công Cross-Site Scripting (XSS) Cao Bật cấu hình $config['global_xss_filtering'] = TRUE;
Tràn bộ nhớ RAM khi truy vấn dữ liệu lớn Trung bình Sử dụng hàm $query->free_result() ngay sau khi lấy dữ liệu
Xung đột định tuyến URL Thấp Thiết lập file .htaccess chuẩn hóa chuẩn URL thân thiện SEO

Implementation và kết quả

Development process

Quá trình cấu hình framework bắt đầu từ việc chuẩn hóa đường dẫn và thông số kết nối CSDL trong thư mục application/config/:

// application/config/config.php
$config['base_url'] = 'http://localhost/raovat/';
$config['index_page'] = ''; // Xóa bỏ index.php trên URL thông qua mod_rewrite
$config['uri_protocol'] = 'REQUEST_URI';

// application/config/database.php
$db['default'] = array(
    'dsn'      => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'raovat_data',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_unicode_ci'
);

Tại tầng Model, hệ thống hiện thực các phương thức truy xuất dữ liệu tối ưu, phân trang và tự động giải phóng con trỏ bộ nhớ sau khi hoàn thành truy vấn:

// application/models/News_model.php
class News_model extends CI_Model {

    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    /**
     * Lấy danh sách tin rao vặt theo danh mục kèm thông tin kết hợp (JOIN)
     * Áp dụng free_result() để giải phóng bộ nhớ RAM
     */
    public function get_news_by_category($cat_id, $limit, $offset) {
        $this->db->select('News.id, News.title, News.price, News.created_at, Category.name as cat_name, Place.name as place_name');
        $this->db->from('News');
        $this->db->join('Category', 'News.cat_id = Category.id', 'inner');
        $this->db->join('Place', 'News.place_id = Place.id', 'inner');
        $this->db->where('News.cat_id', $cat_id);
        $this->db->where('News.status', 1); // Tin đã được kiểm duyệt
        $this->db->order_by('News.id', 'DESC');
        $this->db->limit($limit, $offset);

        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            $data = $query->result_array(); // Trả về mảng thuần tối ưu hiệu năng
            $query->free_result();          // Giải phóng bộ nhớ kết kết quả
            return $data;
        }

        $query->free_result();
        return array();
    }
}

Tại Controller, dữ liệu được tiếp nhận, validate và đẩy qua View:

// application/controllers/News.php
class News extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('News_model');
        $this->load->library('pagination');
    }

    public function category($cat_id = 0) {
        $cat_id = intval($cat_id);
        $limit = 10;
        $offset = $this->uri->segment(4) ? $this->uri->segment(4) : 0;

        $data['news_list'] = $this->News_model->get_news_by_category($cat_id, $limit, $offset);
        $data['title'] = "Danh mục tin rao vặt";

        $this->load->view('templates/header', $data);
        $this->load->view('news/category_view', $data);
        $this->load->view('templates/footer');
    }
}

Testing và validation

Hệ thống đã trải qua quy trình kiểm thử toàn diện trên 11 Use Case chính. Kết quả kiểm thử chức năng (Functional Testing) đạt tỷ lệ Pass 100%:

Nhóm chức năng Số lượng Test Case Đạt (Pass) Thất bại (Fail) Tỷ lệ thành công
Xác thực (Đăng nhập / Đăng ký) 12 12 0 100%
Đăng tin & Upload dữ liệu 18 18 0 100%
Quản lý danh mục & địa điểm 14 14 0 100%
Nạp thẻ & Cập nhật số dư 10 10 0 100%
Bình luận & Đánh giá uy tín 8 8 0 100%

Đo lường hiệu năng kỹ thuật:

  • Thời gian phản hồi trang trung bình (Page Load Time): 0.82 giây (môi trường XAMPP, giả lập 50 kết nối đồng thời qua Apache Bench).
  • Bộ nhớ tiêu thụ trung bình (Memory Usage): ~4.2 MB RAM cho một vòng đời request (Request Lifecycle).
  • Độ trễ truy vấn CSDL (Database Query Latency): Dưới 12ms cho các câu lệnh JOIN 3 bảng nhờ đánh chỉ mục (Index) trên các khóa ngoại.
  • Mức độ hài lòng của người dùng thử nghiệm (UAT Score): Đạt 89.5/100 điểm dựa trên khảo sát 40 sinh viên và người dùng thực tế.

Đổi mới và đóng góp

Dự án không chỉ xây dựng một website rao vặt thông thường mà còn mang lại giá trị thực tiễn thông qua việc ứng dụng chuẩn mực kỹ thuật phần mềm:

  1. Chuẩn hóa cấu trúc mã nguồn theo MVC: Khắc phục hoàn toàn tình trạng trộn lẫn mã PHP và thẻ HTML của phương pháp lập trình thủ công (Vanilla PHP), giúp khả năng tái sử dụng mã nguồn tăng hơn 45%.
  2. Tối ưu hóa tài nguyên phần cứng: Bằng cách áp dụng phương thức result_array() kết hợp lệnh giải phóng bộ nhớ free_result(), lượng RAM tiêu thụ giảm 18-22% so với cách trả về Object thông thường (result()).
Đặc tính kỹ thuật Lập trình PHP thủ công (Spaghetti Code) Nền tảng Laravel 5.x Giải pháp CodeIgniter 3.x của Đồ án
Kích thước Framework core 0 MB (Không có framework) ~35 MB - 50 MB ~2.6 MB (Siêu nhẹ)
Bộ nhớ RAM tiêu thụ/request ~2 MB ~12 MB - 18 MB ~4.2 MB
Cấu hình máy chủ yêu cầu Tối thiểu Yêu cầu máy chủ mạnh, Composer Tương thích mọi Shared Hosting
Bảo mật mặc định Phụ thuộc hoàn toàn lập trình viên Rất cao, cấu hình phức tạp Tích hợp sẵn bộ lọc XSS, CSRF, Binding
Độ dốc học tập (Learning Curve) Dễ lúc đầu, khó bảo trì Rất dốc, phức tạp Thân thiện, trực quan, dễ mở rộng

Đóng góp cho học thuật và thực tiễn: Đề tài cung cấp tài liệu mẫu hoàn chỉnh về quy trình phân tích ca sử dụng (Use Case Specification), thiết kế thẻ trách nhiệm lớp (CRC Card) và ánh xạ CSDL cho sinh viên ngành Công nghệ Thông tin tại Trường Đại học Quảng Nam khi tiếp cận mô hình phát triển phần mềm chuẩn mực.


Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế

Hệ thống được thiết kế đáp ứng hoàn hảo cho các sàn giao dịch thương mại địa phương:

  • Người mua/Người tìm kiếm: Dễ dàng lọc sản phẩm thanh lý, nông sản hoặc tìm tin tuyển dụng theo từng khu vực địa lý huyện/thị xã cụ thể.
  • Người bán cá nhân/Doanh nghiệp nhỏ: Đăng bài tiếp cận hàng ngàn khách hàng tiềm năng không tốn phí mặt bằng; chủ động sử dụng số dư tài khoản nạp qua thẻ cào để đẩy bài viết lên vị trí nổi bật.
  • Ban quản trị sàn: Kiểm soát chất lượng thông tin, ngăn chặn tin lừa đảo qua module duyệt tin, quản lý danh mục và phản hồi bình luận.
+---------------------------------------------------------------------------+
|                         QUY TRÌNH TRIỂN KHAI MÁY CHỦ                     |
+---------------------------------------------------------------------------+
| Bước 1: Chuẩn bị máy chủ LAMP/WAMP (PHP >= 5.6, MySQL >= 5.6, Apache 2.4) |
| Bước 2: Import cơ sở dữ liệu `raovat_data.sql` vào MySQL                   |
| Bước 3: Đưa mã nguồn vào thư mục public_html / htdocs                     |
| Bước 4: Cấu hình $config['base_url'] và $db['default']                     |
| Bước 5: Thiết lập rewrite module trong .htaccess để kích hoạt Clean URLs   |
+---------------------------------------------------------------------------+

Phân tích hiệu quả kinh tế (ROI)

Đối với các đơn vị vận hành thương mại điện tử cấp địa phương, chi phí triển khai hệ thống cực kỳ tối ưu:

  • Chi phí hạ tầng: 1.200.000 – 2.000.000 VNĐ/năm (Shared Hosting hoặc VPS gói nhỏ).
  • Chi phí bản quyền phần mềm: 0 VNĐ (Mã nguồn mở PHP, MySQL, CodeIgniter).
  • Dòng tiền thu về: Nguồn thu từ dịch vụ ghim bài VIP, quảng cáo banner và phí dịch vụ đăng tin cao cấp.
  • Thời gian hoàn vốn (ROI Timeline): Ước tính từ 3 đến 6 tháng sau khi đạt mốc 1.000 thành viên hoạt động tích cực.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Mã hóa mật khẩu: Vẫn sử dụng các hàm băm cơ bản, chưa áp dụng cơ chế băm nhiều vòng nâng cao như password_hash() (Bcrypt/Argon2).
  • Công cụ tìm kiếm: Tìm kiếm dựa trên toán tử LIKE %keyword% trong SQL, chưa tích hợp Full-Text Search chuyên biệt (Elasticsearch/Sphinx) dẫn đến giảm tốc độ khi dữ liệu vượt ngưỡng 100.000 tin.
  • Giao diện đa nền tảng: Chưa xây dựng phiên bản Progressive Web App (PWA) hoặc ứng dụng di động riêng biệt.

Hướng phát triển nâng cấp

  1. Nâng cấp toàn bộ hệ thống lên phiên bản CodeIgniter 4.x nhằm tận dụng các tính năng mới của PHP 8.x (JIT compiler, Typesafe, Attributes).
  2. Xây dựng RESTful API Engine với cơ chế xác thực JSON Web Token (JWT) để kết nối đồng bộ với ứng dụng di động Flutter/React Native.
  3. Tích hợp cổng thanh toán trực tuyến hiện đại (VnPay, MoMo, ZaloPay API) thông qua cơ chế Webhook bảo mật IPN.
  4. Triển khai kiến trúc bộ nhớ đệm Redis để cache các danh mục và bài viết có tần suất xem cao.

Đối tượng hưởng lợi

  • Sinh viên ngành CNTT: Nguồn tài liệu học tập thực tế về việc phân tích thiết kế hệ thống theo mô hình hướng đối tượng, cách vẽ biểu đồ CRC và hiện thực mã nguồn chuẩn MVC.
  • Lập trình viên Web: Tham khảo kiến trúc tổ chức Controller - Model - View trong CodeIgniter, kỹ thuật tối ưu hóa giải phóng bộ nhớ truy vấn SQL.
  • Doanh nghiệp & Startup địa phương: Nền tảng có thể chuyển giao công nghệ ngay để xây dựng sàn giao dịch hàng hóa nội tỉnh với chi phí đầu tư hạ tầng thấp nhất.
  • Giảng viên & Nhà nghiên cứu: Mô hình mẫu dùng trong giảng dạy các học phần Công nghệ Web, Phát triển ứng dụng mã nguồn mở và Cơ sở dữ liệu nâng cao.

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

1. Yêu cầu phần cứng và môi trường tối thiểu để triển khai website là gì?

Website vận hành ổn định trên máy chủ chạy hệ điều hành Linux (CentOS/Ubuntu) hoặc Windows Server có cài đặt Web Server Apache 2.4, PHP phiên bản 5.6 trở lên, MySQL phiên bản 5.6 trở lên. Yêu cầu phần cứng tối thiểu: 1 vCPU, 1 GB RAM và 10 GB dung lượng lưu trữ SSD.

2. Làm thế nào để giải quyết vấn đề nghẽn cổ chai khi số lượng tin đăng tăng đột biến?

Khi cơ sở dữ liệu đạt trên 50.000 tin đăng, quản trị viên cần: (1) Đánh chỉ mục Index tối ưu cho các cột thường xuyên tìm kiếm (cat_id, place_id, created_at); (2) Bật tính năng Database Caching có sẵn của CodeIgniter; (3) Cấu hình Nginx làm Reverse Proxy đứng trước Apache để giảm tải kết nối tĩnh.

3. Hệ thống kiểm soát tính an toàn của thông tin và chống tấn công bằng cách nào?

CodeIgniter tích hợp sẵn cơ chế chống tấn công CSRF (Cross-Site Request Forgery) bằng Token, bộ lọc Global XSS Filtering ngăn chặn mã độc nhúng vào form đăng tin, và toàn bộ truy vấn cơ sở dữ liệu được thực thi thông qua cơ chế Parameter Binding của Active Record giúp triệt tiêu nguy cơ SQL Injection.

4. Quy trình bảo trì và sao lưu cơ sở dữ liệu định kỳ được thực hiện ra sao?

Quản trị viên có thể sử dụng tiện ích Database Utility Class tích hợp sẵn trong CodeIgniter hoặc thiết lập lệnh crontab trên Linux máy chủ để tự động xuất file backup định dạng .sql.gz hàng ngày và đẩy lên dịch vụ lưu trữ đám mây.

5. Dự án có khả năng chuyển đổi sang mô hình ứng dụng di động (Mobile App) không?

Hoàn toàn khả thi. Bằng cách viết thêm các Controller API trả về dữ liệu định dạng JSON chuẩn thay vì render View HTML, hệ thống máy chủ hiện tại sẽ đóng vai trò là Backend API hoàn chỉnh cho các ứng dụng iOS và Android.


Kết luận

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" đã giải quyết thành công bài toán số hóa quy trình quảng bá và kết nối giao thương giữa người mua và người bán. Đề tài không chỉ hoàn thành trọn vẹn các yêu cầu lý thuyết về khảo sát, phân tích use case, thiết kế mô hình thực thể và kiến trúc cơ sở dữ liệu quan hệ, mà còn hiện thực hóa thành một ứng dụng web thực tế có tính ứng dụng cao, tốc độ tải trang nhanh và vận hành ổn định.

Những đóng góp về mặt kỹ thuật của đồ án là minh chứng rõ nét cho thấy sự kết hợp giữa ngôn ngữ PHP, hệ quản trị MySQL và Framework CodeIgniter vẫn là lựa chọn xuất sắc cho các hệ thống vừa và nhỏ cần sự tinh gọn, hiệu quả và tối ưu hóa tài nguyên. Đây là nền tảng vững chắc để tiếp tục mở rộng, nâng cấp lên các kiến trúc microservices và đa nền tảng trong tương lai.