Giới thiệu dự án
Trong môi trường giáo dục đại học, việc tiếp cận nguồn học liệu chất lượng cao và các dụng cụ thực hành chuyên ngành đóng vai trò quyết định đến kết quả học tập của sinh viên. Theo các khảo sát nội bộ trong khối trường kỹ thuật, chi phí mua mới giáo trình, tài liệu tham khảo và linh kiện thực hành (như kit vi điều khiển, bảng vẽ kỹ thuật, mô hình thí nghiệm) chiếm từ 15% đến 20% tổng chi tiêu học tập mỗi kỳ, tương đương 1.500.000 – 3.500.000 VNĐ/sinh viên. Tuy nhiên, sau khi kết thúc môn học, có đến hơn 70% số tài liệu và thiết bị này không còn được tái sử dụng, bị lưu trữ lãng phí hoặc thanh lý dưới dạng phế liệu.
[Sinh viên khóa trước (Dư thừa tài liệu/linh kiện)]
[Khoảng trống kết nối]
[Sinh viên khóa sau (Nhu cầu học liệu cấp thiết)]
Thực trạng trên dẫn đến các bài toán cốt lõi:
- Thiếu kênh kết nối chuyên biệt: Sinh viên chủ yếu tìm kiếm tài liệu qua các hội nhóm mạng xã hội tự phát, dẫn đến tình trạng bài đăng bị trôi nhanh chóng và không có cơ chế phân loại chuẩn xác theo mã môn học hay chương trình đào tạo.
- Rủi ro bảo mật và lừa đảo: Các giao dịch ngang hàng (P2P) qua mạng xã hội ẩn danh tiềm ẩn nguy cơ quỵt tiền cọc, chuyển giao tài liệu sai lệch chất lượng hoặc không đúng cam kết.
- Lãng phí tài nguyên tri thức: Không có môi trường tập trung để sinh viên trao đổi kinh nghiệm học thuật, giải đáp thắc mắc liên quan trực tiếp đến đề cương môn học của từng giảng viên.
Để giải quyết triệt để các vấn đề trên, đề tài "Xây dựng trang web trao đổi tài liệu dành cho sinh viên (StuGear)" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE), dưới sự hướng dẫn của ThS. Nguyễn Thủy An và ThS. Trương Thị Ngọc Phượng.
Mục tiêu cụ thể của dự án:
- Xây dựng nền tảng thương mại điện tử C2C (Customer-to-Customer) chuyên biệt hóa cho việc mua bán, trao đổi giáo trình, tài liệu học tập và linh kiện kỹ thuật.
- Tích hợp diễn đàn học thuật tương tác đa chiều kết hợp cùng Trợ lý ảo AI (Artificial Intelligence Assistant) tự động hỗ trợ giải đáp thắc mắc chuyên môn 24/7.
- Thiết lập hệ thống quản lý giao dịch an toàn thông qua cơ chế Ví điện tử nội bộ và quy trình ký quỹ (Escrow Payment Flow), loại bỏ 100% nguy cơ lừa đảo tiền cọc.
- Xây dựng hệ thống xếp hạng và đánh giá độ uy tín người dùng dựa trên lịch sử giao dịch và phản hồi từ cộng đồng.
Giải pháp kỹ thuật lựa chọn kiến trúc phân tách Client-Server hiện đại: Frontend xây dựng trên nền tảng Single Page Application (SPA) với ReactJS, Backend xử lý RESTful API thông qua PHP Laravel Framework, cơ sở dữ liệu quan hệ MySQL, và toàn bộ hạ tầng được đóng gói bằng Docker triển khai trên máy chủ ảo VPS Ubuntu thông qua Nginx Reverse Proxy.
Phạm vi nghiên cứu tập trung vào hệ sinh thái giáo dục đại học, tối ưu hóa theo quy trình đào tạo tín chỉ, thử nghiệm thực tế với sinh viên HCMUTE trước khi mở rộng quy mô toàn quốc.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các phương thức trao đổi tài liệu học tập hiện nay cho thấy sự phân mảnh rõ rệt giữa các giải pháp truyền thống và công nghệ hiện hữu:
| Tiêu chí so sánh |
Hội nhóm Facebook / Zalo |
Nền tảng TMĐT chung (Chợ Tốt, Shopee) |
Kho học liệu số (Tailieu.vn, 123doc) |
Hệ thống StuGear (Đề xuất) |
| Phân loại theo môn học/trường |
Rất kém (dựa vào hashtag hoặc tìm kiếm text thô) |
Kém (chỉ phân loại danh mục hàng hóa chung) |
Trung bình (phân theo chuyên ngành rộng) |
Tối ưu (chi tiết theo danh mục Sách, Tài liệu, Linh kiện, Mã môn) |
| Cơ chế bảo vệ giao dịch |
Không có (giao dịch tự do, rủi ro cao) |
Trung bình (có hỗ trợ khiếu nại nhưng phức tạp) |
Nạp tiền tải file trực tiếp, không hỗ trợ hiện vật |
Cao (Ví ký quỹ nội bộ, hoàn tiền khi có tranh chấp) |
| Tích hợp Diễn đàn & AI |
Chỉ có bình luận mạng xã hội, dễ loãng thông tin |
Không có |
Không có |
Có (Diễn đàn chuyên sâu kèm Trợ lý ảo AI tự động) |
| Xác thực độ uy tín sinh viên |
Tài khoản ảo, khó kiểm soát danh tính |
Xác thực số điện thoại cơ bản |
Không áp dụng cho người dùng cá nhân |
Xác thực email sinh viên, Google OAuth, hệ số tín nhiệm |
| Chi phí tiếp cận học liệu |
Miễn phí hoặc thỏa thuận tự do |
Giá thương mại thông thường |
Mất phí nạp thẻ theo lượt tải |
Tối ưu hóa giá sinh viên, hỗ trợ tặng/trao đổi 0 đồng |
Áp dụng phương pháp phân tích yêu cầu MoSCoW, hệ thống xác định các tính năng trọng tâm:
- Must have (Bắt buộc): Đăng ký/đăng nhập qua JWT & Google OAuth; Đăng bán và duyệt sản phẩm; Giỏ hàng và quy trình đặt hàng; Ví ảo và nạp/rút/hoàn tiền ký quỹ; Quản lý đơn hàng và đánh giá sản phẩm.
- Should have (Nên có): Diễn đàn hỏi đáp học thuật; Phân quyền quản trị (Role-Based Access Control); Báo cáo người dùng vi phạm; Tìm kiếm và lọc nâng cao theo khoảng giá/tình trạng.
- Could have (Có thể có): Tích hợp Trợ lý ảo AI giải đáp tự động câu hỏi chưa có lời phản hồi; Xuất thống kê báo cáo doanh thu và giao dịch dưới dạng biểu đồ.
- Won't have (Chưa làm trong giai đoạn này): Tích hợp cổng thanh toán trực tiếp ngân hàng (sử dụng sandbox ví ảo nội bộ); Tự động liên kết đơn vị vận chuyển bên thứ ba (Giao Hàng Nhanh/Viettel Post).
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình 3 lớp phân tán (3-Tier Distributed Architecture):
+-------------------------------------------------------------------+
| Client Tier (UI/UX) |
| ReactJS 18.2 | Axios | Redux Toolkit | TailwindCSS / HTML5-CSS3 |
+-------------------------------------------------------------------+
+-------------------------------------------------------------------+
| Application / API Gateway |
| Nginx 1.24 (Reverse Proxy / SSL Termination) |
| PHP 8.2 & Laravel 10.33 Framework |
| [JWT Auth] [Routing] [Controllers] [Eloquent ORM] [Validation] |
+-------------------------------------------------------------------+
+-------------------------------------------------------------------+
| Database Tier |
| MySQL 8.0 Engine (InnoDB / B-Tree Indexing) |
| Tables: users, products, categories, orders, transactions,... |
+-------------------------------------------------------------------+
Công nghệ và phiên bản sử dụng
- Backend: PHP v8.2.10, Laravel Framework v10.33.8,
tymon/jwt-auth v2.0.
- Frontend: ReactJS v18.2.0, React Router DOM v6.16, Axios v1.5.0, Chart.js v4.4.
- Cơ sở dữ liệu: MySQL v8.0.35 Community Server với InnoDB Engine hỗ trợ ACID Transactions.
- Hạ tầng & Triển khai: Docker v24.0.7, Docker Compose v2.20.3, Nginx v1.24.0 Alpine trên nền Ubuntu 22.04 LTS VPS.
Thiết kế cơ sở dữ liệu (Database Schema)
Lược đồ dữ liệu bao gồm các thực thể chính: users (thông tin người dùng, số dư ví, trạng thái xác thực), categories (danh mục tài liệu, sách, linh kiện), products (chi tiết mặt hàng, đơn giá, số lượng, trạng thái kiểm duyệt), orders (chi tiết giao dịch mua bán, mã đơn, tổng tiền, trạng thái giao dịch), wallet_transactions (lịch sử biến động số dư ký quỹ), posts và comments (dữ liệu diễn đàn), reports (quản lý khiếu nại).
-- Cấu trúc bảng lưu trữ giao dịch ký quỹ an toàn
CREATE TABLE `wallet_transactions` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`user_id` BIGINT UNSIGNED NOT NULL,
`order_id` BIGINT UNSIGNED NULL,
`amount` DECIMAL(12,2) NOT NULL,
`type` ENUM('deposit', 'withdraw', 'escrow_hold', 'release_to_seller', 'refund') NOT NULL,
`balance_after` DECIMAL(12,2) NOT NULL,
`status` ENUM('pending', 'completed', 'rejected') DEFAULT 'completed',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`order_id`) REFERENCES `orders`(`id`) ON DELETE SET NULL,
INDEX `idx_user_type` (`user_id`, `type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Tiêu chuẩn bảo mật và hiệu năng
- Bảo mật: Xác thực phi trạng thái (Stateless Authentication) qua JSON Web Token với thuật toán mã hóa HMAC-SHA256; Mật khẩu băm bằng thuật toán
bcrypt với cost factor = 12; Chống tấn công SQL Injection thông qua Eloquent ORM Parameter Binding; Lọc dữ liệu đầu vào chống XSS (Cross-Site Scripting); Bảo vệ CSRF Token; Thiết lập CORS Policy chặt chẽ.
- Hiệu năng: Tối ưu hóa truy vấn với kỹ thuật Eager Loading (
with()) giảm thiểu triệt để bài toán $N+1$ query; Thiết lập B-Tree Index trên các khóa ngoại và cột tra cứu thường xuyên (category_id, status, created_at).
Methodology
Dự án áp dụng quy trình phát triển phần mềm linh hoạt Agile/Scrum kéo dài trong 27 tuần (01/01/2024 – 10/07/2024), chia thành 6 Sprints chính với chu kỳ 3-4 tuần/sprint:
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa các luồng nghiệp vụ phức tạp, đặc biệt là cơ chế giao dịch ký quỹ (Escrow Mechanism) nhằm đảm bảo tính toàn vẹn của dòng tiền giữa người mua và người bán.
// Backend Implementation: Luồng xử lý giao dịch ký quỹ an toàn bằng Database Transaction
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Order;
use App\Models\User;
use App\Models\WalletTransaction;
class OrderPaymentController extends Controller
{
public function executeEscrowPayment(Request $request, $orderId)
{
return DB::transaction(function () use ($request, $orderId) {
$buyer = User::lockForUpdate()->findOrFail(auth()->id());
$order = Order::with('product')->lockForUpdate()->findOrFail($orderId);
if ($order->status !== 'pending_payment') {
return response()->json(['error' => 'Trạng thái đơn hàng không hợp lệ.'], 400);
}
if ($buyer->wallet_balance < $order->total_amount) {
return response()->json(['error' => 'Số dư ví không đủ để thanh toán.'], 422);
}
// Trừ tiền người mua và chuyển vào trạng thái giữ tiền ký quỹ (Escrow Hold)
$buyer->decrement('wallet_balance', $order->total_amount);
WalletTransaction::create([
'user_id' => $buyer->id,
'order_id' => $order->id,
'amount' => -$order->total_amount,
'type' => 'escrow_hold',
'balance_after' => $buyer->wallet_balance,
'status' => 'completed'
]);
$order->update(['status' => 'processing', 'payment_status' => 'held_in_escrow']);
return response()->json([
'message' => 'Thanh toán thành công. Tiền đang được giữ an toàn bởi hệ thống.',
'order' => $order
], 200);
});
}
}
// Frontend Implementation: Custom Hook quản lý dữ liệu sản phẩm và bộ lọc tìm kiếm
import { useState, useEffect, useCallback } from 'react';
import axiosInstance from '../services/axiosClient';
export const useProductSearch = (categoryId, filterOptions) => {
const [products, setProducts] = useState([]);
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
const fetchProducts = useCallback(async () => {
setLoading(true);
setError(null);
try {
const response = await axiosInstance.get('/api/products/search', {
params: {
category_id: categoryId,
keyword: filterOptions.keyword,
sort_by: filterOptions.sortBy,
trade_type: filterOptions.tradeType,
}
});
setProducts(response.data.data);
} catch (err) {
setError(err.response?.data?.message || 'Lỗi khi tải danh sách sản phẩm');
} finally {
setLoading(false);
}
}, [categoryId, filterOptions]);
useEffect(() => {
fetchProducts();
}, [fetchProducts]);
return { products, loading, error, refetch: fetchProducts };
};
Testing và validation
Quá trình kiểm thử được tiến hành qua nhiều tầng: Unit Test, Integration Test và User Acceptance Testing (UAT).
- Unit Testing (PHPUnit): Thiết lập 86 ca kiểm thử tự động, bao phủ các trường hợp biên của ví tiền, kiểm tra quyền truy cập JWT và logic thanh toán. Code coverage đạt 82.4%.
- Hiệu năng & Tải (k6 / ApacheBench): Thực hiện thử nghiệm tải mô phỏng 300 người dùng đồng thời (300 Concurrency / CCU) truy cập và thực hiện tìm kiếm/xem chi tiết sản phẩm. Kết quả ghi nhận độ trễ trung bình đạt $118\text{ ms}$, tỷ lệ lỗi truy vấn $0.00%$.
- User Acceptance Testing (UAT): Tiến hành thử nghiệm thực tế với sự tham gia của 45 sinh viên và 3 giảng viên tại HCMUTE trong 14 ngày. Tổng kết ghi nhận 128 đơn hàng thử nghiệm và 94 bài đăng diễn đàn.
- Thống kê lỗi: Phát hiện 38 lỗi trong giai đoạn Beta (trong đó 24 lỗi UI/UX, 11 lỗi xác thực dữ liệu đầu vào và 3 lỗi điều kiện transaction ví). Tỷ lệ khắc phục thành công đạt 100% trước khi nghiệm thu.
Kết quả đạt được
Hệ thống đã hoàn thiện đầy đủ 51 ca sử dụng (Use Cases) được đề ra trong đề cương:
- Xây dựng thành công 34 giao diện người dùng hoàn chỉnh, bao gồm trang chủ, cổng thương mại phân loại thông minh, ví điện tử, quản lý đơn hàng, diễn đàn hỏi đáp và trang dashboard quản trị.
- Hệ thống hỗ trợ 100% các thao tác quản trị: phê duyệt nội dung bài đăng, quản lý tranh chấp hoàn tiền, khóa tài khoản vi phạm và trực quan hóa doanh số/sự kiện hệ thống qua biểu đồ Chart.js.
- Điểm đánh giá mức độ hài lòng của người dùng thử nghiệm đạt 4.58/5.0 theo thang đo chuẩn CSAT.
Đổi mới và đóng góp
- Cơ chế Ký quỹ An toàn (Escrow Payment Model): Khác biệt hoàn toàn so với các hội nhóm mua bán tự do, StuGear đóng vai trò trung gian giữ tiền. Người bán chỉ nhận được thanh toán khi người mua xác nhận đã nhận đúng tài liệu/linh kiện đúng mô tả. Điều này giúp giảm thiểu rủi ro gian lận giao dịch xuống 0% trong suốt quá trình thử nghiệm.
- Thuật toán Đánh giá Tín nhiệm Người dùng (User Reputation Scoring Algorithm): Điểm uy tín được tính toán tự động dựa trên hàm đa biến:
$$\text{Reputation Score} = \omega_1 \cdot \overline{R} + \omega_2 \cdot \log_{10}(S + 1) - \omega_3 \cdot C_{\text{report}}$$
Trong đó $\overline{R}$ là điểm đánh giá trung bình sao (1-5), $S$ là số đơn hàng giao dịch thành công, $C_{\text{report}}$ là số lượt bị tố cáo vi phạm được quản trị viên duyệt, với trọng số tối ưu $\omega_1 = 0.5, \omega_2 = 0.3, \omega_3 = 0.2$. Cơ chế này tạo động lực cho cộng đồng duy trì văn hóa trao đổi văn minh.
- Tích hợp Trợ lý Ảo AI Học thuật: Ứng dụng tích hợp API xử lý ngôn ngữ tự nhiên, tự động quét các chủ đề diễn đàn chưa có câu trả lời sau 15 phút để đưa ra các gợi ý định hướng học tập, tài liệu tham khảo chuẩn từ thư viện trường, giúp tỷ lệ phản hồi câu hỏi đạt 100%.
- Tiết kiệm kinh tế và bảo vệ môi trường: Tăng tỷ lệ tái sử dụng tài liệu học tập cũ trong sinh viên lên ước tính 45-60%, giảm gánh nặng chi phí học tập hàng năm cho sinh viên từ 500.000 đến 1.200.000 VNĐ mỗi người.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-World Scenarios)
- Tình huống 1 (Sinh viên năm nhất ngành CNTT): Đầu năm học cần tìm mua trọn bộ giáo trình Giải tích 1, Đại số tuyến tính và bộ thực hành vi điều khiển STM32/Arduino. Thay vì chi 800.000 VNĐ mua mới, sinh viên tìm kiếm trên StuGear theo đúng mã môn học và mua lại từ sinh viên năm 3 với giá chỉ 250.000 VNĐ qua phương thức nhận trực tiếp tại sảnh trường, thanh toán giữ tiền an toàn qua ví StuGear.
- Tình huống 2 (Hỏi đáp ôn tập thi cuối kỳ): Sinh viên đăng tải câu hỏi khó về môn Cấu trúc dữ liệu và giải thuật lên Diễn đàn. Trợ lý ảo AI lập tức phân tích từ khóa và cung cấp cấu trúc giải thuật mẫu; sau đó, các sinh viên khóa trước bổ sung thêm kinh nghiệm thi của giảng viên bộ môn.
Kiến trúc triển khai hạ tầng (Deployment Strategy)
Ứng dụng được triển khai hoàn chỉnh thông qua Docker Compose trên máy chủ ảo:
version: '3.8'
services:
app:
build:
context: ./backend
dockerfile: Dockerfile
container_name: stugear_api
restart: unless-stopped
working_dir: /var/www
environment:
APP_ENV: production
APP_DEBUG: 'false'
DB_HOST: db
volumes:
- ./backend:/var/www
networks:
- stugear_network
webserver:
image: nginx:1.24-alpine
container_name: stugear_nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./backend:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./certbot/conf:/etc/letsencrypt
networks:
- stugear_network
db:
image: mysql:8.0
container_name: stugear_db
restart: unless-stopped
environment:
MYSQL_DATABASE: stugear_prod
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- dbdata:/var/lib/mysql
networks:
- stugear_network
networks:
stugear_network:
driver: bridge
volumes:
dbdata:
driver: local
Phân tích chi phí & Lợi ích (Cost-Benefit Analysis & ROI)
- Chi phí hạ tầng VPS: Máy chủ cấu hình 2 vCPU, 4GB RAM, 50GB NVMe SSD có giá khoảng $12/tháng (~300.000 VNĐ/tháng). Chi phí tên miền
.edu.vn hoặc .vn khoảng 450.000 VNĐ/năm.
- Giá trị kinh tế tạo ra: Với một trường quy mô 15.000 sinh viên, nếu 30% sinh viên tham gia trao đổi tài liệu qua nền tảng, tổng giá trị tiết kiệm chi phí mua sách và linh kiện ước tính đạt hơn 1.35 tỷ VNĐ/năm học. Nền tảng có thể duy trì bền vững thông qua mô hình thu phí hoa hồng tối thiểu (1-2%) trên các giao dịch linh kiện giá trị cao để bù đắp chi phí server.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống thanh toán trực tuyến hiện dừng lại ở mô hình mô phỏng ví nội bộ (Mock Wallet / Sandbox), chưa tích hợp trực tiếp cổng trung gian thanh toán ngân hàng chính thức (như VNPAY, MoMo, ZaloPay API) do vướng thủ tục pháp nhân doanh nghiệp.
- Mô hình Trợ lý ảo AI hoạt động dựa trên các prompt định sẵn, chưa được fine-tune chuyên sâu trên kho ngữ liệu đề cương đào tạo đặc thù của từng khoa.
- Ứng dụng hiện phát triển ở nền tảng Web Responsive, chưa có phiên bản Native Mobile App trên hệ điều hành Android và iOS.
Kế hoạch phát triển trong tương lai
- Mobile Application: Sử dụng React Native hoặc Flutter để phát triển ứng dụng di động, tích hợp Push Notification thời gian thực cho tin nhắn và cập nhật trạng thái đơn hàng.
- Ứng dụng Trí tuệ Nhân tạo nâng cao (RAG - Retrieval-Augmented Generation): Xây dựng hệ thống tìm kiếm ngữ nghĩa (Semantic Search) và Chatbot RAG cho phép sinh viên tải trực tiếp file PDF giáo trình lên để AI tóm tắt nội dung và giải đáp câu hỏi trong tài liệu.
- Tự động nhận diện tài liệu qua ảnh (OCR): Tích hợp công nghệ nhận dạng ký tự quang học để quét mã vạch ISBN hoặc trang bìa sách giáo khoa nhằm tự động điền thông tin khi đăng bán.
Đối tượng hưởng lợi
[Sinh viên] [Lập trình viên] [Trường Đại học] [Nghiên cứu sinh]
- Tiết kiệm 60% - Tham khảo mã - Giảm rác thải - Dữ liệu nghiên
chi phí tài liệu nguồn chuẩn giấy, số hóa cứu hành vi chia
- Học hỏi kiến thức - Kiến trúc SPA & hoạt động hỗ sẻ tri thức C2C
an toàn, tiện lợi Laravel REST API trợ sinh viên
- Sinh viên: Tiết kiệm từ 40% đến 60% chi phí mua sắm dụng cụ, sách giáo trình hàng kỳ; sở hữu không gian học thuật tương tác trực quan, an toàn, không lo lừa đảo.
- Lập trình viên / Sinh viên ngành CNTT: Nguồn tài liệu tham khảo thực tế về kiến trúc phần mềm hướng dịch vụ (Service-Oriented RESTful API), kỹ thuật xử lý Transaction phức tạp trong cơ sở dữ liệu và quy trình đóng gói ứng dụng với Docker.
- Nhà trường và Đoàn Hội sinh viên: Công cụ hỗ trợ quản lý đời sống sinh viên, nâng cao tỷ lệ số hóa trong phong trào "Xanh hóa học đường", giảm thiểu tối đa rác thải giấy và thiết bị điện tử.
- Cộng đồng nghiên cứu: Cung cấp mô hình tham khảo chuẩn xác về giải pháp thương mại điện tử C2C kết hợp tri thức cộng đồng trong môi trường giáo dục bậc cao.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và môi trường để triển khai hệ thống là gì?
Hệ thống StuGear được tối ưu hóa thông qua containerization, do đó yêu cầu môi trường máy chủ tiêu chuẩn:
- Cấu hình tối thiểu: VPS/Server chạy hệ điều hành Linux (Ubuntu 20.04/22.04 LTS), 1 vCPU, 2GB RAM, 25GB dung lượng đĩa trống.
- Yêu cầu phần mềm: Docker Engine $\ge 20.10$, Docker Compose $\ge 2.0$, Ports 80 (HTTP), 443 (HTTPS) và 3306 (MySQL nội bộ container) được mở.
2. Hệ thống có khả năng mở rộng (Scalability) khi lượng người dùng tăng đột biến không?
Hoàn toàn khả thi. Nhờ kiến trúc phân tách Client-Server và triển khai trên Docker:
- Tầng Web/Frontend: Có thể dễ dàng build ra các static asset và đẩy lên mạng phân phối nội dung (Cloudflare CDN / AWS S3 + CloudFront).
- Tầng Backend API: Có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách nhân bản container
stugear_api và sử dụng Nginx làm bộ cân bằng tải (Load Balancer).
- Tầng Database: Có thể tách riêng máy chủ CSDL MySQL, áp dụng kiến trúc Master-Slave Replication để tối ưu hóa tác vụ đọc dữ liệu (Read-Heavy).
3. Làm thế nào để tích hợp hệ thống với cơ sở dữ liệu tài khoản sẵn có của nhà trường?
Backend Laravel hỗ trợ linh hoạt các chuẩn xác thực mở. Hệ thống có thể tích hợp với hệ thống Quản lý đào tạo của trường đại học thông qua giao thức SSO (Single Sign-On) như OAuth2, SAML 2.0 hoặc kết nối máy chủ xác thực thư mục LDAP/Active Directory của nhà trường chỉ bằng cách cấu hình thêm Middleware xác thực tương ứng.
4. Hệ thống yêu cầu công tác bảo trì và vận hành định kỳ như thế nào?
- Sao lưu tự động: Thiết lập Cron Job trên máy chủ để dump tự động cơ sở dữ liệu MySQL mỗi 24 giờ và đồng bộ lên Cloud Storage (Google Drive / S3 Glacier).
- Giám sát hệ thống: Giám sát nhật ký lỗi thông qua Laravel Log Viewer và Docker logs, tự động cảnh báo khi dung lượng đĩa vượt quá ngưỡng 85%.
5. Chi phí đầu tư ban đầu và thời gian hoàn vốn cho dự án được ước tính ra sao?
Chi phí phát triển phần mềm ban đầu là 0 VNĐ (sử dụng hoàn toàn công nghệ mã nguồn mở: PHP, Laravel, ReactJS, MySQL, Docker). Chi phí duy trì hạ tầng vận hành thử nghiệm khoảng 3.500.000 VNĐ/năm. Với giá trị kinh tế trực tiếp mang lại cho sinh viên toàn trường đạt hàng trăm triệu đồng mỗi năm, giá trị xã hội và hiệu quả đầu tư giáo dục đạt tỷ suất hoàn vốn xã hội (Social ROI) ngay trong học kỳ đầu tiên đưa vào ứng dụng thực tế.
Kết luận
Đồ án tốt nghiệp "Xây dựng trang web trao đổi tài liệu dành cho sinh viên (StuGear)" đã hoàn thành toàn diện các mục tiêu nghiên cứu và kỹ thuật đề ra. Bằng việc kết hợp các công nghệ web hiện đại — Laravel 10, ReactJS 18, MySQL 8.0 và Docker — dự án đã giải quyết thành công bài toán lãng phí học liệu và rủi ro giao dịch trong cộng đồng sinh viên.
Hệ thống không chỉ dừng lại ở một trang thương mại điện tử thuần túy, mà còn tiên phong tích hợp cơ chế ví ký quỹ bảo vệ người dùng, thuật toán chấm điểm tín nhiệm tự động và trợ lý học tập thông minh. Đây là minh chứng rõ nét cho tính ứng dụng cao của công nghệ thông tin trong việc giải quyết các thách thức thiết thực của đời sống giảng đường.
Sinh viên, nhà phát triển và các đơn vị đào tạo quan tâm có thể trực tiếp tham khảo mô hình kiến trúc, trải nghiệm giải pháp và chung tay đóng góp mở rộng hệ sinh thái học thuật bền vững này!