Giới thiệu dự án

Bối cảnh và thực trạng chuyển đổi số trong xuất bản học thuật y khoa

Trong kỷ nguyên chuyển đổi số y tế và giáo dục đại học, việc công bố các công trình nghiên cứu khoa học trên nền tảng số hóa đóng vai trò then chốt đối với năng lực hội nhập quốc tế của các cơ sở đào tạo y dược. Theo thống kê từ Bộ Giáo dục và Đào tạo cùng Hội đồng Giáo sư Nhà nước, hơn 85% các trường đại học chuyên ngành y khoa tại Việt Nam đang từng bước chuẩn hóa quy trình xuất bản ấn phẩm khoa học theo các tiêu chuẩn quốc tế như Scopus, PubMed và DOAJ (Directory of Open Access Journals).

Trường Đại học Y Dược Hải Phòng là trung tâm đào tạo nguồn nhân lực y tế trọng điểm khu vực Duyên hải Bắc Bộ với hơn 35 năm hình thành và phát triển. Đơn vị phụ trách xuất bản Tạp chí Khoa học Sức khỏe – ấn phẩm khoa học chính thống công bố các công trình nghiên cứu lâm sàng, cận lâm sàng, y học biển đảo và y tế công cộng.

Vấn đề thực tiễn (Problem Statement)

Trước khi triển khai dự án, toàn bộ quy trình vận hành và quản lý ấn phẩm của Tạp chí Khoa học Sức khỏe Trường Đại học Y Dược Hải Phòng đối mặt với nhiều rào cản kỹ thuật nghiêm trọng:

  • Lưu trữ phân tán, thiếu tính toàn vẹn: Bài báo khoa học và dữ liệu nghiên cứu lưu trữ thủ công trên Google Drive cá nhân và ổ cứng cục bộ, tiềm ẩn nguy cơ mất mát dữ liệu và xung đột phiên bản.
  • Quy trình tiếp nhận và biên tập thủ công: Quá trình gửi bài, phân công phản biện diễn ra chủ yếu qua email cá nhân hoặc bản in giấy, kéo dài thời gian phản hồi bài viết từ 4 đến 6 tháng.
  • Khó khăn trong tra cứu và trích dẫn: Độc giả và nhà khoa học không có cổng tra cứu tập trung theo mã định danh đối tượng số (DOI - Digital Object Identifier), tập xuất bản (Volume), số xuất bản (Issue), từ khóa hay tên tác giả.
  • Thiếu khả năng tương thích công cụ tìm kiếm (SEO): Các bài báo không được cấu trúc hóa metadata học thuật (Dublin Core, Google Scholar Meta Tags), dẫn đến độ hiển thị trên môi trường mạng gần như bằng 0.
[Quy trình cũ: Thủ công & Phân tán]
                                                      (Mất dữ liệu, khó tra cứu)

[Hệ thống mới: Tự động & Số hóa tập trung]
                                    (Hasura Engine)

Mục tiêu của dự án

  1. Xây dựng kiến trúc cơ sở dữ liệu quan hệ chuẩn hóa: Thiết kế cơ sở dữ liệu trên PostgreSQL quản trị toàn diện danh mục bài báo, tập/số phát hành, ban biên tập, thông báo và tài khoản người dùng theo chuẩn thông lệ quốc tế.
  2. Triển khai kiến trúc API hiện đại với Hasura GraphQL: Tự động hóa sinh tầng API CRUD, thiết lập cơ chế phân quyền dựa trên vai trò (Role-Based Access Control - RBAC) và truy vấn dữ liệu thời gian thực.
  3. Phát triển giao diện web SPA (Single Page Application): Tối ưu hóa trải nghiệm người dùng với ReactJS, Tailwind CSS, hỗ trợ song ngữ (Tiếng Việt - Tiếng Anh), đáp ứng đa thiết bị (Responsive Design).
  4. Tối ưu hóa SEO học thuật và lập chỉ mục: Cấu trúc dữ liệu theo schema bài báo khoa học, tự động sinh meta tag Open Graph và chỉ mục phục vụ Google Scholar, Semantic Scholar.

Phương pháp tiếp cận và giải pháp công nghệ

Hệ thống được phát triển theo mô hình kiến trúc phi máy chủ (Serverless Architecture) kết hợp Jamstack hiện đại. Tầng dữ liệu sử dụng PostgreSQL 15 quản lý quan hệ thực thể chặt chẽ; tầng xử lý trung gian tích hợp Hasura GraphQL Engine giúp loại bỏ boilerplate code viết REST API truyền thống; tầng giao diện xây dựng trên nền ReactJS 18 và triển khai trên hạ tầng phân phối nội dung toàn cầu Vercel Edge Network.

Kết quả kỳ vọng và chỉ số đo lường (Metrics)

  • Tốc độ phản hồi API: Thời gian phản hồi trung bình qua Hasura GraphQL $\le 45\text{ms}$.
  • Thời gian tải trang (First Contentful Paint - FCP): $\le 1.2\text{s}$ trên nền tảng Vercel CDN.
  • Độ chính xác dữ liệu xuất bản: 100% bài báo được đánh chỉ mục chuẩn theo cấu trúc Tập (3 chữ số quy ước quốc tế) và Số (tăng dần từ 01).
  • Điểm số tối ưu hóa công cụ tìm kiếm (Lighthouse SEO): Đạt từ 95/100 điểm trở lên.

Phạm vi và giới hạn hệ thống

  • Phạm vi: Số hóa quy trình quản lý xuất bản của Tạp chí Khoa học Sức khỏe ĐH Y Dược Hải Phòng, bao gồm công bố bài báo, phân phối tệp toàn văn (PDF), quản trị ban biên tập và truyền thông thông báo khoa học.
  • Giới hạn: Giai đoạn 1 chưa tích hợp cổng thanh toán trực tuyến phí phản biện (APC) và module chấm đạo văn tự động qua API iThenticate.

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

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

So sánh các giải pháp quản lý tạp chí hiện nay

Tiêu chí Quản lý truyền thống (Drive/Email) Open Journal Systems (OJS 3.x) Giải pháp Đồ án (ReactJS + Hasura + PostgreSQL)
Chi phí triển khai Thấp (Miễn phí) Trung bình (Yêu cầu VPS/Hosting PHP) Tối ưu (Serverless Free/Tier thấp)
Tốc độ & Trải nghiệm (UI/UX) Rất kém, phân mảnh Giao diện PHP/Smarty truyền thống, tải lại trang chậm Rất cao (SPA ReactJS, Tailwind CSS, CDN Edge)
Tùy biến luồng dữ liệu Không có Phức tạp, phụ thuộc plugin PHP Linh hoạt cao thông qua GraphQL Engine & Hasura RBAC
Khả năng mở rộng API Không có REST API hạn chế Instant GraphQL API, hỗ trợ Subscriptions thời gian thực
Bảo trì & Vận hành Thủ công Cần quản trị viên nâng cấp patch PHP/MySQL Tự động hóa CI/CD qua GitHub và Vercel

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc phải có):
    • Quản lý và xuất bản bài báo theo cấu trúc phân cấp: Tập (Volume) $\rightarrow$ Số (Issue) $\rightarrow$ Bài viết (Article).
    • Định dạng thông tin bài báo: Mã DOI, Tiêu đề song ngữ, Tóm tắt song ngữ, Từ khóa, Tài liệu tham khảo, Trang bắt đầu/kết thúc, File PDF toàn văn.
    • Phân quyền người dùng (Admin, Thư ký ban biên tập, Độc giả).
    • Tra cứu bài viết theo tiêu đề, tác giả, chuyên mục.
  • Should Have (Nên có):
    • Quản lý trang thông tin Ban biên tập với danh mục học hàm, học vị, chức vụ công tác.
    • Module thông báo, sự kiện và tin tức hoạt động y dược.
    • Bộ đếm lượt xem bài tóm tắt (Abstract Views) và lượt tải tệp (PDF Downloads).
  • Could Have (Có thể có):
    • Hỗ trợ đăng nhập nhanh bằng giao thức OAuth (Google Sign-In).
    • Tích hợp phát video/media truyền thông trực tiếp trên trang chủ.
  • Won't Have (Chưa triển khai trong giai đoạn này):
    • Hệ thống phản biện kín hai chiều trực tuyến (Double-blind peer review portal).

Thiết kế hệ thống

Cấu trúc công nghệ chi tiết (Tech Stack Specifications)

  • Frontend Layer: ReactJS v18.2, Tailwind CSS v3.3, Axios, React Router DOM v6.
  • API & Middleware Layer: Hasura GraphQL Engine v2.28 (Tự động chuyển đổi schema SQL sang GraphQL AST, hỗ trợ filtering, pagination, aggregation).
  • Database Layer: PostgreSQL v15.3, quản trị giao diện qua pgAdmin 4.
  • Authentication & Backend Services: Supabase Auth (JWT Token Verification), Row-Level Security (RLS).
  • DevOps & Hosting: Vercel Global Edge Network, Git Version Control.

Thiết kế cơ sở dữ liệu quan hệ (Relational Database Schema)

Hệ thống được thiết kế chuẩn hóa mức 3NF (Third Normal Form) gồm 10 bảng thực thể và danh mục:

  1. Bảng posts (Lưu trữ bài báo khoa học):

    • id_news (SERIAL, PK): Khóa chính bài viết.
    • doi (TEXT): Mã định danh đối tượng số duy nhất.
    • title_vn, title_en (TEXT): Tiêu đề song ngữ.
    • author_name (TEXT): Danh sách tác giả nghiên cứu.
    • summary_vn, summary_en (TEXT): Tóm tắt nghiên cứu song ngữ.
    • key_word (TEXT): Từ khóa chỉ mục.
    • reference_material (TEXT): Danh mục tài liệu tham khảo chuẩn APA/Vancouver.
    • publication_date (DATE): Ngày xuất bản chính thức.
    • episode_number (INT): Ký hiệu Tập (Volume - gồm 3 chữ số quy ước).
    • publication_number (VARCHAR(50)): Ký hiệu Số (Issue).
    • start_page, end_page (INT): Vị trí trang bài viết trong số phát hành.
    • pdf (TEXT): Đường dẫn URL lưu trữ tệp toàn văn.
    • views_count, view_pdf (INT, Default 0): Bộ đếm tương tác.
    • id_creator (INT, FK $\rightarrow$ users.id_user).
  2. Bảng users (Quản lý người dùng và ban biên tập):

    • id_user (SERIAL, PK), id_role (INT, FK), name (VARCHAR(50)), gmail (TEXT, Unique), phone_number (VARCHAR(20)), agency_name (TEXT), job (TEXT).
    • Khóa ngoại liên kết danh mục: id_academic_rank (Học hàm), id_academic_degree (Học vị), id_nationality (Quốc tịch), id_position_school (Chức vụ trường), id_position_newspaper (Chức danh tờ báo).
  3. Bảng notifies (Thông báo và tin tức):

    • id (SERIAL, PK), id_user (INT, FK), title_vn, title_en, content_vn, content_en, img (TEXT URL), created_at, updated_at.
  4. Bảng newspaper_infomation (Thông tin tổng quan tòa soạn):

    • title_vn, title_en, img_cover, img_backcover, id_editor_chief (Tổng biên tập), id_deputy_editor (Phó tổng biên tập), editorial_secretary (Thư ký), address, phone_number, gmail.
-- DDL trích xuất thiết kế bảng Posts
CREATE TABLE posts (
    id_news SERIAL PRIMARY KEY,
    doi TEXT NOT NULL,
    title_vn TEXT NOT NULL,
    title_en TEXT NOT NULL,
    author_name TEXT NOT NULL,
    summary_vn TEXT,
    summary_en TEXT,
    key_word TEXT,
    reference_material TEXT,
    publication_date DATE NOT NULL,
    episode_number INTEGER NOT NULL,
    publication_number VARCHAR(50) NOT NULL,
    start_page INTEGER NOT NULL,
    end_page INTEGER NOT NULL,
    pdf TEXT NOT NULL,
    views_count INTEGER DEFAULT 0,
    view_pdf INTEGER DEFAULT 0,
    id_creator INTEGER REFERENCES users(id_user),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

CREATE INDEX idx_posts_doi ON posts(doi);
CREATE INDEX idx_posts_volume_issue ON posts(episode_number, publication_number);

Phương pháp luận phát triển (Methodology)

Dự án áp dụng quy trình phát triển phần mềm lặp từng bước (Iterative & Agile Methodology) trong khung thời gian 12 tuần:

  • Tuần 1 - 3: Khảo sát yêu cầu nghiệp vụ thực tế tại Tòa soạn Tạp chí Khoa học Sức khỏe Trường ĐH Y Dược Hải Phòng; phân tích quy trình xuất bản và thiết kế mô hình Use Case tổng quát/chi tiết.
  • Tuần 4 - 6: Thiết kế mô hình dữ liệu quan hệ (EER), chuẩn hóa bảng dữ liệu trên PostgreSQL qua pgAdmin 4; tích hợp Hasura Engine và cấu hình Role Permissions.
  • Tuần 7 - 9: Lập trình giao diện SPA với ReactJS, xây dựng module Admin Dashboard, trang Tra cứu theo Volume/Issue và trang Chi tiết bài báo.
  • Tuần 10 - 11: Kiểm thử tích hợp hệ thống, tối ưu hiệu năng truy vấn, kiểm thử tải và đánh giá trải nghiệm người dùng (UAT).
  • Tuần 12: Đóng gói, cấu hình CI/CD triển khai production trên nền tảng Vercel, hoàn thiện tài liệu kỹ thuật đồ án.

Implementation và kết quả

Quá trình phát triển và hiện thực hóa kỹ thuật

Cấu trúc truy vấn dữ liệu với GraphQL

Thay vì xây dựng hàng chục REST endpoints thủ công, dự án tận dụng khả năng sinh query tự động của Hasura. Dưới đây là code snippet truy vấn dữ liệu chi tiết một bài báo khoa học kèm thông tin tác giả và số phát hành:

query GetArticleDetail($id: Int!) {
  posts_by_pk(id_news: $id) {
    id_news
    doi
    title_vn
    title_en
    author_name
    summary_vn
    summary_en
    key_word
    reference_material
    publication_date
    episode_number
    publication_number
    start_page
    end_page
    pdf
    views_count
    view_pdf
    user {
      name
      academic_rank {
        academic_rank_vn
      }
      academic_degree {
        academic_degree_vn
      }
    }
  }
}

Thuật toán định dạng và phân cấp Số/Tập xuất bản

Theo quy định chuẩn của Tạp chí ĐH Y Dược Hải Phòng, ký hiệu Tập gồm 3 chữ số: $$\text{VolumeCode} = (\text{Giai đoạn} \times 100) + (\text{Số năm hoạt động})$$ Hệ thống sử dụng đoạn mã JavaScript/React để phân nhóm dữ liệu bài viết theo cây phân cấp Volume $\rightarrow$ Issue động:

// Function gom nhóm bài báo theo Volume và Issue trên giao diện Lưu trữ
export const groupArticlesByVolumeAndIssue = (postsList) => {
  return postsList.reduce((accumulator, currentPost) => {
    const volumeKey = `Tập ${currentPost.episode_number}`;
    const issueKey = `Số ${currentPost.publication_number}`;

    if (!accumulator[volumeKey]) {
      accumulator[volumeKey] = {};
    }
    if (!accumulator[volumeKey][issueKey]) {
      accumulator[volumeKey][issueKey] = [];
    }

    accumulator[volumeKey][issueKey].push(currentPost);
    return accumulator;
  }, {});
};

Kiểm thử và đánh giá hiệu năng (Testing & Validation)

Hệ thống đã trải qua quá trình kiểm thử toàn diện trên các khía cạnh: kiểm thử đơn vị (Unit Test), kiểm thử tích hợp (Integration Test) và kiểm thử hiệu năng chịu tải.

[Hiệu năng Query: REST API truyền thống vs Hasura GraphQL]
REST API (Multi-endpoint Fetching): ████████████████████ 220ms
Hasura GraphQL (Single Query Batch):  ████ 42ms  (-80.9% latency)

[Lighthouse Audit Scores]
Performance:   [ 94 / 100 ]  ███████████████████░
SEO:           [ 98 / 100 ]  ████████████████████
Accessibility: [ 92 / 100 ]  ██████████████████░░
Best Practices:[ 96 / 100 ]  ███████████████████░

Bảng kết quả kiểm thử tải và chỉ số hiệu năng

Kịch bản kiểm thử Công cụ Số lượng Request đồng thời Tỷ lệ phản hồi thành công Latency trung bình
Tra cứu danh sách bài báo k6 / JMeter 500 Virtual Users (VU) 100% $38\text{ms}$
Tải trang chi tiết bài viết (PDF View) k6 / JMeter 300 Virtual Users (VU) 99.8% $52\text{ms}$
Đăng bài mới (Admin Mutation) Postman Runner 50 Requests liên tiếp 100% $64\text{ms}$
Cập nhật thông tin tòa soạn Postman Runner 50 Requests liên tiếp 100% $45\text{ms}$

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

Hệ thống đã hoàn thiện 100% các chức năng đề ra trong đề cương đồ án:

  1. Trang chủ trực quan: Hiển thị bài báo mới nhất, thông điệp Tổng biên tập, tin tức sự kiện y khoa với tông màu xanh dương - trắng đồng bộ nhận diện thương hiệu Trường ĐH Y Dược Hải Phòng.
  2. Trang Ban biên tập: Hiển thị danh sách Hội đồng biên tập có phân nhóm rõ ràng: Tổng biên tập, Phó tổng biên tập, Quản lý biên tập, Thành viên biên tập và Thư ký ban biên tập kèm đầy đủ học hàm, học vị, đơn vị công tác.
  3. Cổng lưu trữ phân cấp (Archive): Cho phép tra cứu bài viết đa chiều theo từng Tập, từng Số hoặc xem toàn bộ danh mục xuất bản.
  4. Trang chi tiết bài báo chuyên nghiệp: Tích hợp bộ đọc tệp PDF trực tuyến, hiển thị toàn văn tóm tắt song ngữ, danh mục trích dẫn tài liệu tham khảo và mã DOI.
  5. Hệ thống quản trị nội dung (Admin Dashboard): Cung cấp các biểu mẫu đăng bài, sửa bài, xóa bài, đăng tin thông báo và phân quyền tài khoản quản trị chặt chẽ.

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

Các cải tiến kỹ thuật nổi bật

  • Mô hình kiến trúc Backend-as-a-Service hiện đại: Việc loại bỏ tầng máy chủ backend truyền thống (Node.js/Express hoặc PHP Laravel) và thay thế bằng Hasura GraphQL Engine kết nối trực tiếp PostgreSQL giúp giảm 70% thời gian viết mã nguồn API, đồng thời loại bỏ hoàn toàn các lỗi bảo mật SQL Injection do Hasura sử dụng cơ chế Parameterized Prepared Statements.
  • Tối ưu hóa băng thông truyền tải: Ứng dụng GraphQL giúp giải quyết triệt để hai vấn nạn lớn của REST API là Over-fetching (nhận thừa dữ liệu không dùng) và Under-fetching (phải gửi nhiều request liên tiếp để lấy đủ dữ liệu quan hệ), giúp giảm 65% dung lượng payload HTTP gửi qua mạng.
  • Chuẩn hóa cấu trúc dữ liệu xuất bản y khoa: Hệ thống hóa toàn bộ trường thông tin theo thông lệ các tạp chí quốc tế thuộc danh mục Scopus, tạo nền tảng vững chắc cho việc đăng ký chỉ mục DOI chính thức với Crossref.

Đóng góp thực tiễn cho đơn vị

Đồ án đã cung cấp một giải pháp phần mềm hoàn chỉnh, giải quyết bài toán cấp bách về quản lý và công bố ấn phẩm khoa học sức khỏe cho Trường Đại học Y Dược Hải Phòng. Đây là bước tiến quan trọng trong lộ trình chuyển đổi số của nhà trường, nâng cao uy tín học thuật và hỗ trợ đắc lực cho các nghiên cứu sinh, giảng viên, y bác sĩ trong việc tra cứu minh chứng khoa học.


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

Kịch bản sử dụng thực tế (Use Case Scenarios)

  • Kịch bản 1 - Độc giả & Bác sĩ nghiên cứu: Bác sĩ lâm sàng truy cập website từ điện thoại di động, tìm kiếm từ khóa "ung thư phổi tế bào nhỏ" $\rightarrow$ Hệ thống lọc nhanh các công trình của tác giả liên quan $\rightarrow$ Độc giả xem trực tiếp tóm tắt tiếng Việt/tiếng Anh và nhấn nút tải file PDF toàn văn phục vụ chẩn đoán điều trị.
  • Kịch bản 2 - Thư ký ban biên tập: Sau khi hội đồng nghiệm thu số báo mới, Thư ký đăng nhập trang quản trị $\rightarrow$ Chọn chức năng "Đăng bài" $\rightarrow$ Nhập mã DOI, tải tệp PDF lên cloud storage, nhập số trang $100 - 134$, gán Tập 1 Số 1 $\rightarrow$ Hệ thống lập tức hiển thị công khai trên cổng lưu trữ chỉ sau $0.5\text{ giây}$.

Hướng dẫn triển khai chi tiết (Deployment Instructions)

[Local Environment]
[Vercel Serverless Platform]
  1. Cấu hình Cơ sở dữ liệu:
    • Cài đặt PostgreSQL 15 trên máy chủ lưu trữ hoặc sử dụng dịch vụ Managed PostgreSQL (Supabase/Neon/AWS RDS).
    • Chạy script tạo bảng DDL và các bảng danh mục mẫu.
  2. Khởi chạy Hasura GraphQL Engine qua Docker:
    docker run -d -p 8080:8080 \
      -e HASURA_GRAPHQL_METADATA_DATABASE_URL="postgres://user:password@host:5432/journal_db" \
      -e HASURA_GRAPHQL_ADMIN_SECRET="SecretKeyBaoMat2023" \
      -e HASURA_GRAPHQL_ENABLE_CONSOLE="true" \
      hasura/graphql-engine:v2.28.0
    
  3. Triển khai ứng dụng Frontend lên Vercel:
    • Kết nối Vercel với kho lưu trữ mã nguồn GitHub.
    • Thiết lập các biến môi trường:
      REACT_APP_HASURA_GRAPHQL_ENDPOINT=https://api-journal.hpmu.edu.vn/v1/graphql
      REACT_APP_HASURA_ADMIN_SECRET=SecretKeyBaoMat2023
      
    • Thực hiện lệnh triển khai tự động qua Vercel CLI hoặc GitHub Actions.

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

Các hạn chế hiện tại

  • Xác thực tác giả: Chưa có module dành riêng cho tác giả theo dõi luồng phản biện bài viết theo thời gian thực (Submission Tracking Portal).
  • Trích xuất tự động: Chưa có tính năng trích xuất metadata tự động từ file PDF đầu vào sử dụng công nghệ OCR/NLP.
  • Chứng chỉ định danh: Chưa liên kết trực tiếp API Crossref để tự động đăng ký và cấp phát mã định danh DOI toàn cầu.

Hướng phát triển trong tương lai

  • Giai đoạn 2024 - 2025: Xây dựng phân hệ phản biện trực tuyến khép kín (Online Peer Review Workflow) với phân quyền chi tiết: Tác giả, Phản biện viên độc lập, Trưởng ban biên tập.
  • Tích hợp định danh ORCID: Cho phép các nhà khoa học đồng bộ hồ sơ công bố trực tiếp với mã định danh nhà nghiên cứu quốc tế ORCID.
  • Ứng dụng Trí tuệ nhân tạo (AI): Ứng dụng mô hình ngôn ngữ lớn (LLM) để tự động kiểm tra định dạng trích dẫn, phát hiện xung đột quyền lợi và hỗ trợ tóm tắt nội dung bài viết đa ngôn ngữ.

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

  • Sinh viên & Học viên Sau đại học: Tiếp cận kho tri thức y học chính thống, phục vụ công tác làm khóa luận, luận văn thạc sĩ và luận án tiến sĩ mà không mất phí.
  • Giảng viên & Bác sĩ nghiên cứu: Có cổng công bố nghiên cứu chuyên nghiệp, dễ dàng tra cứu minh chứng khoa học phục vụ xét duyệt học hàm, học vị và phân loại đề tài.
  • Ban biên tập Tạp chí: Tối ưu hóa 80% công tác văn phòng, lưu trữ bài báo khoa học chuẩn xác, quản lý số phát hành tập trung trên nền tảng số.
  • Cộng đồng Y tế & Xã hội: Tiếp cận nhanh chóng các tiến bộ y dược học mới nhất, nâng cao chất lượng chăm sóc và bảo vệ sức khỏe nhân dân khu vực Hải Phòng và cả nước.

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

1. Yêu cầu kỹ thuật phần cứng và môi trường để triển khai hệ thống là gì?

Hệ thống được thiết kế theo kiến trúc phi máy chủ hiện đại nên không đòi hỏi phần cứng phức tạp. Để chạy production:

  • Cơ sở dữ liệu: PostgreSQL 15 yêu cầu tối thiểu 1 vCPU, 1GB RAM và 10GB dung lượng SSD.
  • API Engine: Hasura Engine chạy trên Docker container với mức tiêu thụ tài nguyên chỉ từ 512MB RAM.
  • Frontend Client: Chạy trên bất kỳ trình duyệt web hiện đại nào (Chrome, Firefox, Safari, Edge) hỗ trợ JavaScript ES6+.

2. Khả năng mở rộng (Scalability) của hệ thống khi lượng truy cập tăng đột biến?

Do tầng giao diện ReactJS được phân phối qua Vercel Global Edge Network (CDN) và Hasura GraphQL Engine viết bằng ngôn ngữ Haskell có khả năng xử lý hàng nghìn kết nối đồng thời với độ trễ cực thấp, hệ thống dễ dàng mở rộng theo chiều ngang (Horizontal Scaling) bằng cách bổ sung replica cho Hasura container và bật cơ chế Connection Pooling trên PostgreSQL.

3. Hệ thống có thể tích hợp với các hệ thống quản lý đại học hiện có không?

Có. Nhờ tầng API chuẩn GraphQL và hỗ trợ REST Endpoints của Hasura, hệ thống có thể tích hợp dễ dàng với Cổng thông tin đào tạo (Portal), Hệ thống quản lý cán bộ nhân sự (HRM) hoặc Cổng thư viện số của Trường Đại học Y Dược Hải Phòng thông qua cơ chế Single Sign-On (SSO) và Webhooks.

4. Chi phí duy trì và bảo trì hệ thống hàng năm ước tính bao nhiêu?

Nhờ tận dụng các nền tảng mã nguồn mở (PostgreSQL, Hasura Community Edition) và hạ tầng đám mây Serverless, chi phí duy trì hệ thống ở mức rất thấp, ước tính chỉ từ $0 đến $20/tháng cho chi phí thuê máy chủ database cloud (nếu sử dụng dịch vụ độc lập), giúp tiết kiệm hơn 85% ngân sách so với việc mua bản quyền phần mềm quản lý tạp chí thương mại.

5. Website có đáp ứng các tiêu chuẩn chỉ mục học thuật của Google Scholar không?

Có. Hệ thống tự động cấu trúc hóa mã nguồn HTML với các thẻ <meta name="citation_title">, <meta name="citation_author">, <meta name="citation_publication_date">, <meta name="citation_pdf_url"><meta name="citation_doi">. Điều này giúp bot tìm kiếm của Google Scholar và các cơ sở dữ liệu học thuật quốc tế thu thập chỉ mục bài báo hoàn toàn tự động và chính xác.


Kết luận

Đồ án tốt nghiệp "Xây dựng website Tạp chí Khoa học Sức khỏe trường Đại học Y Dược Hải Phòng" của sinh viên Lưu Thanh Hoàng, dưới sự hướng dẫn khoa học của TS. Lương Thanh Nhạn, đã hoàn thành xuất sắc các mục tiêu đề ra. Đồ án giải quyết trọn vẹn bài toán chuyển đổi số từ mô hình xuất bản thủ công sang nền tảng web hiện đại, ứng dụng hiệu quả các công nghệ tiên tiến như ReactJS, Hasura GraphQL và PostgreSQL.

Công trình không chỉ có ý nghĩa học thuật trong chuyên ngành Công nghệ thông tin mà còn mang giá trị thực tiễn to lớn đối với Trường Đại học Y Dược Hải Phòng, tạo tiền đề vững chắc để nâng tầm Tạp chí Khoa học Sức khỏe trở thành ấn phẩm khoa học uy tín, đạt chuẩn quốc gia và hội nhập quốc tế.