Chuyển tới nội dung chính

Giới Thiệu Tổng Quan

Open Linked Hub là nền tảng kết nối và đồng bộ hóa dữ liệu giữa nhiều hệ thống khác nhau.
Phần Frontend chịu trách nhiệm hiển thị giao diện người dùng, quản lý trạng thái ứng dụng và giao tiếp với Backend API qua các endpoint bảo mật.


1. Mục tiêu

  • Cung cấp UI/UX nhất quán, dễ sử dụng cho người dùng cuối.
  • Kết nối an toàn với backend API để thực hiện xác thực, quản lý dữ liệu người dùng, và hiển thị nội dung động.
  • Hỗ trợ state management tập trung bằng Pinia, giúp đồng bộ dữ liệu giữa các thành phần UI.
  • Dễ dàng mở rộng module, thêm trang hoặc plugin mới mà không ảnh hưởng đến các phần khác.
  • Tối ưu hiệu năng nhờ lazy loading, auto-import, và tree-shaking của Nuxt 3.

2. Thiết kế hệ thống

3. Cấu trúc dự án

frontend/
├── .env.example # File mẫu biến môi trường
├── .gitignore # Loại trừ file khi commit Git
├── .prettierrc # Cấu hình Prettier
├── .prettierignore # Bỏ qua định dạng một số file
├── nuxt.config.ts # Cấu hình chính của Nuxt
├── package.json # Thông tin package và script
├── tailwind.config.js # Cấu hình Tailwind CSS
├── tsconfig.json # Cấu hình TypeScript
├── public/ # Static assets (favicon, robots.txt)
├── src/ # Mã nguồn chính của ứng dụng
│ ├── app.vue # Root component
│ ├── app.config.ts # Cấu hình chung cho app (theme, meta, ...)
│ ├── assets/ # Tài nguyên tĩnh (CSS, hình ảnh)
│ ├── components/ # Component dùng chung (AppHeader, ...)
│ ├── composables/ # Custom composables
│ ├── layouts/ # Giao diện khung trang (default, blank)
│ ├── middleware/ # Middleware điều hướng (auth, ...)
│ ├── pages/ # Các trang ứng dụng (route tự động)
│ ├── plugins/ # Plugin cài vào Nuxt (axios instance)
│ ├── stores/ # Pinia stores (state management)
│ ├── types/ # Kiểu dữ liệu TypeScript
│ └── utils/ # Hàm tiện ích dùng chung

4. Cài đặt & Chạy dự án

Yêu cầu:

  • Node.js: ≥ 18.x
  • Yarn: ≥ 1.22.x
  • Trình duyệt hiện đại hỗ trợ ES6+

Cài đặt:

# Di chuyển đến thư mục frontend
cd frontend

# Cài đặt các gói phụ thuộc
yarn install

Biến môi trường

Tạo file .env (tham khảo .env.example) với nội dung như:

API_BASE_URL=https://api.openlinkedhub.com

Chạy chế độ phát triển:

# Chạy ứng dụng development
yarn dev

Ứng dụng sẽ chạy tại: 👉 http://localhost:3000

Build production:

yarn build

Preview bản build:

yarn preview