Quản lý Dự án
Nhập dữ liệu dự án hàng loạt từ File Excel vào hệ thống.
| Dự án | ID DỰ ÁN | Team / Trạng thái | Loại hình / BHYT | Người phụ trách | Ngày tạo | Thao tác |
|---|
Danh mục Team
Quản lý các nhóm phụ trách dự án
Quản lý User
Tạo tài khoản và phân quyền thành viên
| Họ tên | Tài khoản / UID | Liên hệ | Phân quyền | Trạng thái | Ngày tạo | Tác vụ |
|---|
Nhật ký hệ thống
Theo dõi các hoạt động thay đổi dữ liệu trên toàn hệ thống.
🔍
| Thời gian | Người thực hiện | Hành động | Chi tiết thay đổi |
|---|
Thông báo hệ thống
Quản lý các tin nhắn hiển thị tại banner trang chủ cho nhân viên.
| Tiêu đề thông báo | Ngày bắt đầu | Ngày kết thúc | Trạng thái | Thao tác |
|---|
Quản lý Tài liệu & Liên kết
Thêm các hướng dẫn, quy trình hoặc liên kết hữu ích cho nhân viên.
| Icon | Tiêu đề | Nội dung tóm tắt (Mô tả chi tiết) | Liên kết | Ngày tạo | Thao tác |
|---|
Google Drive & Desktop API
Cấu hình kết nối Google Drive, cấp Refresh Token và tạo đường dẫn API cho ứng dụng Desktop (SqlBackupTool).
Trạng thái Google Drive: Chưa liên kết
Vui lòng điền Client ID, Client Secret và bấm 'Đăng nhập Google & Lấy Refresh Token' để hoàn tất kết nối.
1. Cấu hình Google Cloud OAuth 2.0
Google Console ↗
OAuth 2.0 Client ID tạo từ Google Cloud Console (loại Web Application).
Mã bảo mật Client Secret tương ứng với Client ID trên.
ID thư mục chứa file sao lưu CSDL trên Google Drive (Lấy từ URL thư mục Drive).
⚠️ Khắc phục lỗi redirect_uri_mismatch: Copy đúng URL này và dán vào phần Authorized redirect URIs của Client ID trên Google Cloud Console.
2. Quy trình Lấy Refresh Token
BƯỚC 1
Mở cửa sổ ủy quyền Google OAuth 2.0
Nhấn nút bên dưới để đăng nhập tài khoản Google Drive và nhận Authorization Code.
BƯỚC 2
Đổi Authorization Code lấy Refresh Token
Refresh Token có thời hạn vĩnh viễn (trừ khi bị thu hồi quyền trên Google).
💡 Cách lấy Refresh Token qua Google OAuth Playground (Cách dự phòng)
- Truy cập Google OAuth Playground ↗.
- Click ⚙️ (Settings góc trên phải): Tích chọn Use your own OAuth credentials ➔ Dán Client ID và Client Secret của bạn.
- Mục Step 1: Chọn Drive API v3 ➔ Tích chọn
https://www.googleapis.com/auth/drive.file➔ Bấm Authorize APIs. - Đăng nhập tài khoản Google ➔ Chấp nhận cấp quyền.
- Mục Step 2: Bấm Exchange authorization code for tokens.
- Sao chép Refresh token tạo ra, quay lại đây bấm ✏️ Sửa thủ công và dán vào ô trên ➔ Bấm Lưu cấu hình!
3. Đường Dẫn API & Tích Hợp Cho Ứng Dụng Desktop (SqlBackupTool C#)
API Live Ready
Ứng dụng C# Desktop sẽ gửi HTTP GET tới Link API này để tự động đồng bộ Client ID, Client Secret và Refresh Token mới nhất.
Đang tải cấu hình JSON...
4. API Cập Nhật Nội Dung Backup Theo ID Dự Án
POST API Ready
✅ Mục đích: Ứng dụng Desktop (SqlBackupTool C#) gọi API này sau mỗi lần backup để cập nhật lịch sử backup vào Firestore theo ID Dự án. Dữ liệu ghi bao gồm: ngày backup, tên file đã upload, trạng thái (thành công / thất bại).
URL có dạng:
https://firestore.googleapis.com/v1/projects/{projectId}/databases/(default)/documents/QLykhachhang/{PROJECT_DOC_ID}?key={apiKey}&updateMask.fieldPaths=lastBackupDate&updateMask.fieldPaths=lastBackupFile&updateMask.fieldPaths=lastBackupStatus&updateMask.fieldPaths=backupHistory
{
"fields": {
"lastBackupDate": { "stringValue": "2026-07-29T22:00:00+07:00" },
"lastBackupFile": { "stringValue": "QLykhachhang_backup_20260729_220000.bak.gz" },
"lastBackupStatus": { "stringValue": "success" },
"backupHistory": {
"arrayValue": {
"values": [
{
"mapValue": {
"fields": {
"date": { "stringValue": "2026-07-29T22:00:00+07:00" },
"file": { "stringValue": "QLykhachhang_backup_20260729_220000.bak.gz" },
"status": { "stringValue": "success" },
"driveFileId": { "stringValue": "1AbCdEfGhIjKlMnOpQrStUvWxYz" }
}
}
}
]
}
}
}
}
Nhập Project ID ở trên và nhấn "Tải lịch sử" để xem các lần backup gần đây của dự án.