Giới thiệu
Trong môi trường doanh nghiệp, việc quản lý lịch, phân ca hoặc lưu trữ thông tin vận hành trên Google Sheets là điều rất phổ biến. Tuy nhiên, khi dữ liệu phình to, việc tìm kiếm trở nên chậm, khó thao tác, dễ sai sót và khó kiểm soát.
Tôi quyết định xây dựng Hệ Thống Tìm Kiếm Lịch – một công cụ tra cứu web tự động, chạy trên nền tảng có sẵn của doanh nghiệp: Google Sheets + Google Apps Script.
Mục tiêu của tôi là tạo ra một hệ thống:
- nhanh, chính xác
- dễ sử dụng
- hoạt động ổn định
- dễ bảo trì
- có thể mở rộng
- và đặc biệt: chi phí bằng 0 (dựa trên hạ tầng Google miễn phí)
Đây là toàn bộ hành trình triển khai.
1. Bối cảnh và vấn đề doanh nghiệp đang gặp phải
Trong giai đoạn đầu, bộ phận vận hành phải:
- mở file Google Sheets thủ công
- lọc từng cột
- tìm thông tin dựa trên nhiều tiêu chí
- đối chiếu dữ liệu thủ công
- mất nhiều thời gian chỉ để tìm một lịch cụ thể
Những khó khăn lớn nhất:
1.1. Tốc độ tra cứu chậm
Khi dữ liệu tăng lên hàng ngàn dòng, Google Sheets bắt đầu phản hồi chậm, lọc dữ liệu mất thời gian.
1.2. Sai sót do thao tác thủ công
Một sai nhầm nhỏ như lọc nhầm cột hoặc bấm sai giá trị có thể khiến kết quả không chính xác.
1.3. Không có giao diện chuẩn cho người dùng
Người dùng không thống nhất cách tìm kiếm → mỗi người thao tác một kiểu → khó kiểm soát chất lượng dữ liệu.
1.4. Không phù hợp để mở rộng
Sheet càng lớn → tải càng nặng → hiệu suất càng giảm.
Chính vì vậy, nhu cầu về một hệ thống tìm kiếm web chuẩn hóa, nhanh và thân thiện trở nên cấp thiết.
2. Mục tiêu dự án
Tôi đặt ra các mục tiêu cụ thể:
- Tạo hệ thống web tìm kiếm chuyên nghiệp, giao diện rõ ràng
- Tốc độ phản hồi nhanh khi lọc dữ liệu
- Tìm kiếm đa tiêu chí: ngày, phòng, ca, trạng thái…
- UI/UX tối ưu trên cả desktop và mobile
- Dữ liệu luôn đồng bộ với Google Sheets
- Dễ bảo trì, không phụ thuộc một cá nhân
- Không sử dụng server trả phí
- Có thể mở rộng thành dashboard trong tương lai
ChatGPT trở thành cố vấn kỹ thuật xuyên suốt quá trình.
3. Thiết kế dữ liệu: Chuẩn hóa trên Google Sheets
Tôi tạo Google Sheet với cấu trúc rõ ràng, mỗi cột là một tiêu chí tìm kiếm.
Cấu trúc bảng gồm:
- ID
- Ngày
- Ca
- Phòng
- Người thực hiện
- Ghi chú
- Trạng thái
- Tag
Bước chuẩn hóa dữ liệu quyết định khả năng tìm kiếm chính xác.

4. Phát triển backend với Google Apps Script
Tôi bắt đầu xây backend bằng Google Apps Script. Đây là “trái tim” của hệ thống, xử lý:
- đọc dữ liệu từ Sheet
- chuẩn hóa dữ liệu
- lọc theo nhiều tiêu chí
- phân trang
- trả kết quả về giao diện
4.1. Kiến trúc xử lý
- Step 1: doGet() tải giao diện
- Step 2: Client gửi yêu cầu tìm kiếm
- Step 3: Apps Script đọc sheet
- Step 4: Áp dụng thuật toán lọc
- Step 5: Trả dữ liệu đã phân trang
- Step 6: UI hiển thị kết quả ngay lập tức
4.2. Thuật toán lọc nâng cao
ChatGPT hỗ trợ tôi xây dựng hàm fetchFilteredFixed():
- cho phép lọc theo nhiều cột cùng lúc
- so khớp chính xác (exact match)
- so khớp chứa (partial)
- chuẩn hóa lowercase
- loại bỏ ký tự thừa, khoảng trắng
- xử lý null an toàn
- tốc độ cao kể cả khi dataset lớn
4.3. Tối ưu hiệu suất
Để tránh Apps Script chậm khi xử lý nhiều dòng, tôi:
- chỉ đọc toàn bộ sheet một lần
- xử lý dữ liệu trong bộ nhớ
- phân trang trước khi trả về
Điều này giúp hệ thống phản hồi gần như tức thì.

5. Xây dựng giao diện web và tối ưu trải nghiệm người dùng
Tôi viết giao diện bằng HTML/CSS/JS, tập trung vào:
- tốc độ load
- độ rõ ràng
- tránh lỗi vỡ layout
- hoạt động tốt trên mobile
5.1. Các lỗi UI ban đầu
- bảng tràn ngang
- không có scroll
- chữ nhỏ, khó đọc
- nhập filter không giữ lại khi chuyển trang
- một số trình duyệt hiển thị khác nhau
ChatGPT hỗ trợ tôi phân tích từng ảnh lỗi và đưa ra hướng sửa.
5.2. Các cải tiến UI/UX quan trọng
✔ CSS Reset để loại bỏ xung đột
✔ Khung bảng có overflow-x: auto
✔ Responsive hoàn chỉnh
✔ Bố cục gọn – rõ – dễ dùng
✔ Loading khi tìm kiếm
✔ Thông báo khi không có kết quả


6. Kết nối frontend – backend
Kết nối thông qua google.script.run giúp dữ liệu luân chuyển:
- client gửi yêu cầu
- server xử lý
- client hiển thị kết quả
Ví dụ:
google.script.run
.withSuccessHandler(renderResults)
.fetchFilteredFixed(filters);
Hệ thống đảm bảo:
- không reload trang
- phản hồi nhanh
- không chặn thao tác người dùng

7. Quy trình triển khai (Deploy) và kiểm thử thực tế
Tôi triển khai bằng:
- Deploy → New Deployment → Web App
- Execute as → Me
- Access → Anyone with the link
7.1. Các bước kiểm thử thực tế
- test lọc dữ liệu nhiều tiêu chí
- test mobile + desktop
- test tốc độ với dữ liệu lớn
- test lỗi nhập
- test giao diện nhiều tab
Các lỗi xuất hiện đều được ChatGPT phân tích và sửa.

8. Giá trị mang lại cho doanh nghiệp
8.1. Tăng tốc độ tra cứu
Từ vài phút → vài giây.
8.2. Giảm sai sót
Do giao diện chuẩn và thuật toán lọc chính xác.
8.3. Tối ưu quy trình nội bộ
Quy trình thống nhất cho mọi nhân sự.
8.4. Không tốn chi phí hạ tầng
Dựa hoàn toàn vào hệ sinh thái Google.
8.5. Mở rộng dễ dàng
Sau khi có nền tảng, tôi có thể bổ sung:
- dashboard
- thống kê
- xuất báo cáo
- phân quyền người dùng

9. Vai trò của ChatGPT trong dự án
Trong toàn bộ quá trình này, ChatGPT đóng vai trò như:
✔ Chuyên gia tư vấn kỹ thuật
- thiết kế kiến trúc Apps Script
- tối ưu thuật toán lọc
- phân tích lỗi qua hình ảnh
✔ Trợ lý UI/UX
- cải thiện giao diện
- xử lý lỗi tràn bảng
- tối ưu trải nghiệm mobile
✔ Cầu nối kiến thức
- giải thích từng bước
- đưa ra hướng tiếp cận tối ưu
- giúp tôi tiết kiệm nhiều ngày phát triển
Kết luận
Hệ Thống Tìm Kiếm Lịch là ví dụ điển hình của việc ứng dụng công nghệ low-code kết hợp trí tuệ nhân tạo vào quy trình doanh nghiệp.
Dự án không chỉ giúp tối ưu tốc độ tra cứu, giảm sai sót và tăng hiệu suất vận hành, mà còn mở ra hướng tiếp cận mới trong việc tự động hóa nội bộ.
Với nền tảng này, doanh nghiệp hoàn toàn có thể mở rộng thành:
- hệ thống báo cáo
- dashboard quản trị
- module phân quyền
- tích hợp dữ liệu đa nguồn
Và quan trọng nhất:
toàn bộ hệ thống hoạt động ổn định, an toàn và không tốn chi phí vận hành.
