Phát triển phần mềm theo yêu cầu

Phần mềm riêng cho doanh nghiệp

Khảo sát, thiết kế, lập trình và vận hành theo đúng nghiệp vụ của bạn.

-- Hàm kiểm tra thành viên nằm ở schema private, không lộ qua API công khai
create or replace function private.is_tenant_member(p_tenant_id uuid)
returns boolean language sql security definer set search_path = public stable as $$
select exists (
select 1 from public.members m
where m.tenant_id = p_tenant_id and m.user_id = auth.uid()
);
$$;
-- Đọc: mọi thành viên của tổ chức. Ghi: chỉ owner hoặc admin
create policy profiles_select on public.profiles
for select to authenticated
using (private.is_tenant_member(tenant_id));
create policy profiles_write on public.profiles
for all to authenticated
using (private.is_tenant_editor(tenant_id))
with check (private.is_tenant_editor(tenant_id));
CDP Click Star · PostgreSQLtrích, rút gọn
100%
mã nguồn và dữ liệu bàn giao cho doanh nghiệp
3
môi trường tách biệt: phát triển, thử nghiệm, vận hành
2 tuần
mỗi chặng có bản chạy thật để duyệt
Hằng ngày
sao lưu dữ liệu, có kiểm tra khôi phục
Mã nguồn thật

Đây là cách chúng tôi viết mã

4 đoạn trích từ kho mã nguồn sản phẩm của Click Star, rút gọn dòng, giữ nguyên logic. Mỗi đoạn kèm lý do nó tồn tại.

migrations/0002_harden_rls_helpers.sqlTrích từ: CDP Click Star · PostgreSQL
-- Hàm kiểm tra thành viên nằm ở schema private, không lộ qua API công khai
create or replace function private.is_tenant_member(p_tenant_id uuid)
returns boolean language sql security definer set search_path = public stable as $$
select exists (
select 1 from public.members m
where m.tenant_id = p_tenant_id and m.user_id = auth.uid()
);
$$;
-- Đọc: mọi thành viên của tổ chức. Ghi: chỉ owner hoặc admin
create policy profiles_select on public.profiles
for select to authenticated
using (private.is_tenant_member(tenant_id));
create policy profiles_write on public.profiles
for all to authenticated
using (private.is_tenant_editor(tenant_id))
with check (private.is_tenant_editor(tenant_id));

Đoạn này bảo đảm

Dữ liệu của tổ chức này không thể bị tổ chức khác đọc, kể cả khi một đoạn mã ứng dụng viết sai. Chặn nằm ở cơ sở dữ liệu.

48
migration SQL có đánh số trong kho CDP
246
kiểm thử phân quyền cho hệ thống điều hành quảng cáo
7
bộ kiểm thử, chạy trên cơ sở dữ liệu giả lập
187
commit trong kho CDP, mỗi commit một thay đổi có thể quay lui

Số đo từ kho mã nguồn ngày 18/10/2026. Kiểm thử không chạm dữ liệu thật.

Một yêu cầu đi qua 6 chốt kiểm tra

Các đoạn mã ở trên nằm ở những chốt này. Thứ tự cố định: chốt sau không thay được chốt trước.

Click StarLUỒNG MỘT YÊU CẦU6 chốt, thứ tự cố địnhYÊU CẦU TỪ TRÌNH DUYỆT01Lớp biênTLS · rate-limitchặn:dò mật khẩu, lưulượng bất thường02PhiênverifyToken()chặn:token giả, hết hạn03Vai tròrequireRole()chặn:vượt quyền, tingiao diện04Dữ liệu vàoschema.parse()chặn:sai kiểu, thiếutrường, chèn mã05Chính sáchRLS policychặn:đọc chéo chi nhánh,tổ chức06Nhật kýaudit.log()chặn:sửa dấu vết, chốibỏ thao tácPHẠM VI TIN CẬYKiểm tra ở máy chủ, không tin dữ liệu từ giao diệnRàng buộc ở cơ sở dữ liệu, kể cả khi mã ứng dụng sai

Vuốt ngang để xem đủ sơ đồ

Kiến trúc

Kiến trúc tham chiếu cho mọi dự án

Điểm xuất phát chung, sau đó điều chỉnh theo nghiệp vụ. Mô hình AI và hệ thống bên ngoài chỉ được gọi từ máy chủ, không bao giờ từ trình duyệt.

Click StarKIẾN TRÚC THAM CHIẾUmô hình triển khai mặc địnhNGƯỜI DÙNGBIÊNỨNG DỤNGDỮ LIỆUTrình duyệtweb · PWAĐiện thoạicài lên màn hìnhHệ thống đối tácREST · webhookCDN + WAFTLS 1.2+Giới hạn tần suấtchặn dò mật khẩuXác thực phiênJWT · 2FA quản trịMáy chủ ứng dụngNext.js · Node.jsRBACzodauditTác vụ nềncron · queue · workflowMô-đun AIchỉ gọi từ máy chủPostgreSQLRow Level Securitytheo tổ chứctheo chi nhánhaudit_logchỉ ghi thêm · không sửa/xoáTệp và sao lưusao lưu hằng ngày · khôi phụcTLSSQL+RLSKẾT NỐI RA NGOÀI (QUA MÁY CHỦ)CRM · kế toán · khoZalo · Email · SMSClaude · GPT · GeminiMÔI TRƯỜNGdevstagingproduction

Vuốt ngang để xem đủ sơ đồ

01

Cơ sở dữ liệu là nơi chặn cuối

Quyền được ràng buộc bằng Row Level Security, nên một lỗi ở tầng ứng dụng không làm lộ dữ liệu.

02

Mọi thay đổi đều để lại dấu vết

Nhật ký chỉ ghi thêm, ghi rõ ai làm gì lúc nào. Không ai sửa hay xoá được, kể cả quản trị viên.

03

Tách môi trường từ ngày đầu

Phát triển, thử nghiệm và vận hành là ba môi trường riêng, dữ liệu thật không bao giờ xuất hiện ở hai môi trường đầu.

Công nghệ

Công nghệ phổ biến, kiểu dữ liệu chặt chẽ

Chúng tôi chọn công nghệ có cộng đồng lớn và vòng đời dài, để hệ thống dễ tuyển người và dễ bảo trì trong nhiều năm.

Giao diệnNext.js · React · TypeScript
Máy chủNode.js · TypeScript · REST / Webhook
Cơ sở dữ liệuPostgreSQL · Row Level Security
Hạ tầngVercel
Tự động hoáClick Star Automation · Cron · Queue
AI (khi cần)OpenAI · Claude · Gemini
Khi nào cần phần mềm riêng

Công cụ có sẵn đã không theo kịp cách doanh nghiệp vận hành

Buổi trao đổi đầu tiên có thể kết luận doanh nghiệp chưa cần làm phần mềm riêng. Chúng tôi sẽ nói thẳng nếu một công cụ có sẵn đã đủ.

  1. 01

    Dữ liệu nằm rải rác ở Excel và nhóm chat

    Báo cáo phải tổng hợp tay, số liệu giữa các bộ phận không khớp nhau.

  2. 02

    Phần mềm đang dùng không có nghiệp vụ đặc thù

    Đội ngũ phải làm vòng ngoài hệ thống, hoặc trả phí cho nhiều tính năng không dùng đến.

  3. 03

    Các hệ thống không kết nối với nhau

    CRM, kế toán, kho, website mỗi nơi một dữ liệu, nhân viên phải nhập lại nhiều lần.

  4. 04

    Yêu cầu bảo mật và kiểm soát truy cập cao hơn

    Cần phân quyền chi tiết theo vai trò, chi nhánh và lưu vết đầy đủ ai đã xem, sửa dữ liệu nào.

Phạm vi

Các loại hệ thống chúng tôi thiết kế và vận hành

Hệ thống quản lý nội bộ

Quy trình duyệt nhiều cấp, đơn hàng, kho, nhân sự, giao việc theo đúng cơ cấu tổ chức.

CRM và cổng khách hàng

Quản lý khách hàng theo phễu bán hàng riêng; cổng để khách hàng, đại lý tự tra cứu và đặt hàng.

Báo cáo và dashboard

Hợp nhất dữ liệu nhiều nguồn, báo cáo tự cập nhật, mỗi cấp quản lý xem đúng phần của mình.

Ứng dụng web cho điện thoại

Dùng ổn định trên máy tính và điện thoại, cài lên màn hình chính như ứng dụng.

Tích hợp hệ thống

Kết nối qua API với phần mềm sẵn có, đồng bộ dữ liệu tự động, bỏ bước nhập tay.

Ứng dụng AI vào nghiệp vụ

Đọc và trích xuất tài liệu, phân tích cuộc gọi, trợ lý tra cứu nội bộ. Dữ liệu không dùng để huấn luyện mô hình.

Tích hợp AI

Mô hình AI cao cấp, kiểm soát chặt

Chúng tôi dùng các mô hình hàng đầu của Anthropic (Claude), OpenAI (GPT) và Google (Gemini), chọn theo từng tác vụ. Mô hình chỉ là một bước trong quy trình có kiểm chứng, không phải hộp đen nối thẳng vào dữ liệu.

Anthropic · ClaudeOpenAI · GPTGoogle · Gemini
Click StarĐƯỜNG ĐI CỦA AImọi lượt gọi đi qua máy chủTài liệu, hợp đồngCuộc gọi, tin nhắnCâu hỏi của nhân viên1. Làm sạchche thông tin nhạy cảm2. Truy xuấtkho tri thức đã duyệtlọc theo quyền người hỏi3. Chọn mô hìnhTÁC VỤ KHÓClaude · GPT · GeminiTÁC VỤ LẶP LẠImô hình nhanh, rẻdự phòng khi nhà cung cấp lỗi4. Kiểmschematrích dẫn nguồnngưỡng tin cậyTự động ghi vào hệ thốngkhi vượt ngưỡng tin cậyNgười duyệt xác nhậnkhi dưới ngưỡng hoặc nhạy cảmHệ thống ghi nhậnPostgreSQL · audit_logGHI LẠI MỖI LƯỢTprompt@ver · token · costmodel · reviewer · latency

Vuốt ngang để xem đủ sơ đồ

Đúng mô hình cho đúng việc

Việc cần suy luận như đọc hợp đồng, phân tích cuộc gọi dùng mô hình cao cấp. Việc lặp lại như phân loại, gắn nhãn dùng mô hình nhanh để giữ chi phí. Có phương án dự phòng khi một nhà cung cấp gián đoạn.

Chỉ trả lời từ dữ liệu đã duyệt

Truy xuất từ kho tri thức đã duyệt, lọc theo quyền của người hỏi, kèm nguồn trích dẫn. Câu chưa có đáp án được ghi lại để bổ sung, không để mô hình tự suy đoán.

Đầu ra có cấu trúc, được kiểm chứng

Kết quả trả về theo schema cố định và được kiểm tra trước khi ghi vào hệ thống. Dưới ngưỡng tin cậy hoặc dữ liệu nhạy cảm thì chuyển cho người duyệt.

Dữ liệu được bảo vệ

Che thông tin nhạy cảm trước khi gửi đi. Khoá API chỉ nằm ở máy chủ. Dữ liệu của doanh nghiệp không dùng để huấn luyện mô hình.

Đo được chi phí và chất lượng

Mỗi lượt gọi ghi lại phiên bản prompt, số token, chi phí và người duyệt. Đặt hạn mức theo tháng, so chất lượng trước khi đổi mô hình.

Đã xây dựng, không phải ý tưởng

  • Trợ lý tư vấn trên website, trả lời từ kho kiến thức đã duyệt, chuyển lead về CRM
  • Phân tích cuộc gọi: bóc băng, chấm điểm, điền thẳng vào CRM
Xem Speech Insight AI
Dự án đã thực hiện

Một số hệ thống chúng tôi đã xây dựng

Tên khách hàng được ẩn để bảo mật. Hình minh hoạ được dựng lại với dữ liệu mẫu, không phải ảnh chụp hệ thống của khách hàng.

Giáo dục · nhiều cơ sở

Trung tâm điều hành quảng cáo

Vấn đề

Ngân sách quảng cáo chia cho nhiều cơ sở, mỗi nơi tự báo cáo bằng bảng tính. Ban điều hành thường chỉ biết một cơ sở đang kém khi đã hết tháng.

Đã xây dựng

Hệ thống lấy số liệu quảng cáo theo lịch, ghép với lead và nhập học, so sánh hiệu quả giữa các cơ sở và đưa các việc cần quyết định lên đầu.

  • Đồng bộ chi phí Meta Ads tự động, không nhập tay
  • Bộ luật phát hiện bất thường, tạo việc kèm người phụ trách
  • Phân quyền kiểm soát ở tầng cơ sở dữ liệu, có bộ kiểm thử riêng

Next.js · PostgreSQL · Meta Marketing API

Đội ngũ

Hơn 10 năm làm hệ thống cho doanh nghiệp

Đội kỹ thuật Click Star đã đồng hành cùng hơn 100 doanh nghiệp tại Việt Nam, trong giáo dục, y tế, bán lẻ, thương mại điện tử và dịch vụ cao cấp.

10+
năm làm Marketing, CRM và hệ thống hoá quy trình
100+
doanh nghiệp đã đồng hành
5
ngành đã làm: giáo dục, y tế, bán lẻ, thương mại điện tử, dịch vụ cao cấp
01

Kỹ sư phần mềm

Viết và bảo trì mã ứng dụng, tích hợp hệ thống, tối ưu tốc độ.

02

Kỹ sư dữ liệu và bảo mật

Thiết kế mô hình dữ liệu, phân quyền Row Level Security, kiểm thử truy cập.

03

Kỹ sư AI

Chọn mô hình, dựng truy xuất tri thức, đo chất lượng và chi phí.

04

Thiết kế sản phẩm

Thiết kế luồng làm việc và giao diện bấm thử được trước khi lập trình.

05

Kiểm thử

Kiểm thử chức năng, hiệu năng, phân quyền; cùng người dùng thật nghiệm thu.

06

Vận hành

Giám sát, sao lưu, kiểm tra khôi phục và xử lý sự cố sau bàn giao.

Thói quen kỹ thuật cố định

  • Mọi thay đổi được người thứ hai xem xét trước khi gộp
  • Kiểm tra tự động trước khi lên môi trường thử: kiểu dữ liệu, quy tắc mã, kiểm thử, dựng bản
  • Kiểm thử phân quyền chạy trên cơ sở dữ liệu giả lập, không chạm dữ liệu thật
  • Quyết định kiến trúc lớn được ghi lại bằng văn bản, để người tiếp quản hiểu vì sao
Click StarĐƯỜNG PHÁT HÀNHmỗi thay đổi đi qua cả 5 bước01Nhánh tính nănggit · commit02Xem xét mãngười thứ hai03Kiểm tự độngtypecheck · tests04Môi trường thửlink để duyệt05Hệ thống chínhcó kiểm soátdoanh nghiệp duyệtquay về bản trước trong vài phút

Vuốt ngang để xem đủ sơ đồ

Bảo mật

Bảo mật được thiết kế từ đầu, không vá về sau

Các biện pháp dưới đây là mặc định trong mọi dự án, không phải gói nâng cấp. Phạm vi cụ thể được ghi vào tài liệu bàn giao để đội kỹ thuật của doanh nghiệp kiểm tra lại.

Bảo vệ dữ liệu

  • Mã hoá khi truyền (TLS) và khi lưu trữ
  • Tách dữ liệu theo tổ chức, chi nhánh ngay ở tầng cơ sở dữ liệu
  • Che thông tin nhạy cảm khi hiển thị và xuất file

Kiểm soát truy cập

  • Phân quyền theo vai trò, kiểm tra ở máy chủ
  • Xác thực 2 lớp cho tài khoản quản trị
  • Giới hạn đăng nhập sai, tự hết hạn phiên làm việc

Truy vết

  • Ghi nhận ai làm gì, lúc nào, trên dữ liệu nào
  • Nhật ký chỉ ghi thêm, không sửa hay xoá được
  • Xuất nhật ký khi cần đối soát hoặc kiểm toán

Mã nguồn an toàn

  • Mọi thay đổi được người thứ hai xem xét trước khi gộp
  • Kiểm thử theo OWASP Top 10 trước khi bàn giao
  • Khoá bí mật không bao giờ nằm trong mã nguồn

Hạ tầng

  • Môi trường thử nghiệm tách hẳn khỏi hệ thống đang chạy
  • Sao lưu tự động, khôi phục về thời điểm bất kỳ
  • Máy chủ đặt tại Singapore hoặc Việt Nam theo yêu cầu

Tuân thủ

  • Thiết kế theo Nghị định 13/2023/NĐ-CP về bảo vệ dữ liệu cá nhân
  • Ký cam kết bảo mật (NDA) trước khi trao đổi chi tiết
  • Hỗ trợ hồ sơ đánh giá tác động xử lý dữ liệu
OWASP Top 10Row Level SecurityTLS 1.2+RBACNghị định 13/2023/NĐ-CP
Vận hành

Hệ thống phải chạy ổn định sau ngày bàn giao

Phần lớn chi phí của một phần mềm nằm ở giai đoạn vận hành. Chúng tôi chuẩn bị cho giai đoạn này ngay từ khi thiết kế.

Giám sát và cảnh báo

Theo dõi thời gian hoạt động, lỗi và tốc độ phản hồi. Có bất thường là đội kỹ thuật nhận cảnh báo trước khi người dùng phải báo.

Phát hành an toàn

Mỗi thay đổi lên môi trường thử trước, doanh nghiệp duyệt qua đường link rồi mới đưa lên hệ thống chính. Có thể quay về phiên bản trước trong vài phút.

Sao lưu và khôi phục

Sao lưu tự động hằng ngày, kiểm tra khôi phục định kỳ để chắc chắn bản sao lưu dùng được khi cần.

Tài liệu vận hành

Bàn giao tài liệu kiến trúc, quy trình xử lý sự cố và hướng dẫn vận hành, để đội nội bộ hoặc đơn vị khác có thể tiếp quản.

Cam kết xử lý sự cố

Áp dụng trong thời gian bảo hành và gói vận hành

Mức độVí dụPhản hồi
P1Hệ thống ngừng hoạt động, lộ dữ liệutrong 1 giờ
P2Một chức năng chính không dùng đượctrong 4 giờ
P3Lỗi nhỏ, có cách làm tạm1 ngày làm việc

Báo cáo vận hành hằng tháng

  • Thời gian hoạt động và các sự cố đã xử lý
  • Bản vá bảo mật và cập nhật thư viện đã áp dụng
  • Tình trạng sao lưu và lần kiểm tra khôi phục gần nhất
  • Đề xuất tối ưu tốc độ và chi phí hạ tầng
Quy trình

Từ xác định nhu cầu đến hệ thống vận hành ổn định

Mỗi giai đoạn kết thúc bằng một điểm duyệt. Chưa duyệt giai đoạn trước thì chưa bắt đầu giai đoạn sau.

  1. 01

    Khảo sát nhu cầu

    Làm việc với lãnh đạo và người dùng thực tế, ghi nhận quy trình hiện tại.

    Duyệt phạm vi và báo giá
  2. 02

    Thiết kế giải pháp

    Kiến trúc, mô hình dữ liệu, phân quyền và giao diện bấm thử được.

    Duyệt thiết kế
  3. 03

    Phát triển theo chặng

    Mỗi chặng 2 tuần, kết thúc bằng buổi demo trên môi trường thử.

    Duyệt sau mỗi chặng
  4. 04

    Kiểm thử và đánh giá bảo mật

    Kiểm thử chức năng, hiệu năng, phân quyền; người dùng thật nghiệm thu.

    Biên bản nghiệm thu
  5. 05

    Triển khai và chuyển giao

    Đưa lên hệ thống chính, chuyển dữ liệu cũ, đào tạo người dùng.

    Bàn giao đầy đủ
  6. 06

    Vận hành và bảo trì

    Giám sát, vá bảo mật, phát triển thêm tính năng theo nhu cầu.

    Báo cáo hằng tháng
Giai đoạnDoanh nghiệp nhận đượcDoanh nghiệp cần chuẩn bịThời gian
Khảo sátTài liệu yêu cầu, phạm vi, báo giá cố định2–3 buổi làm việc, mẫu biểu đang dùng1–2 tuần
Thiết kếSơ đồ kiến trúc, ma trận phân quyền, bản bấm thửGóp ý trên bản bấm thử2–3 tuần
Phát triểnBản chạy thử cập nhật mỗi chặng, báo cáo tiến độDự demo, phản hồi trong chặngtheo phạm vi
Kiểm thửBáo cáo kiểm thử và đánh giá bảo mậtNgười dùng chính tham gia nghiệm thu1–2 tuần
Chuyển giaoMã nguồn, tài liệu, tài khoản quản trị, đào tạoDữ liệu cũ cần chuyển, lịch đào tạokhoảng 1 tuần
Quyền sở hữu

Doanh nghiệp làm chủ hoàn toàn hệ thống

Mã nguồn

Kho mã nguồn đứng tên doanh nghiệp, kèm lịch sử thay đổi đầy đủ.

Hạ tầng

Tài khoản máy chủ, cơ sở dữ liệu, tên miền thuộc doanh nghiệp.

Tài liệu

Kiến trúc, API, mô hình dữ liệu, quy trình vận hành và xử lý sự cố.

Không ràng buộc

Dùng công nghệ phổ biến, đội nội bộ hoặc đơn vị khác tiếp quản được.

Hình thức hợp tác

Chọn cách làm việc phù hợp giai đoạn của doanh nghiệp

Dự án trọn góiHệ thống có phạm vi rõ ràngĐội phát triển riêngSản phẩm phát triển liên tụcVận hành và bảo trìHệ thống đã có, cần chạy ổn định
Cách tính phíBáo giá cố định sau giai đoạn khảo sátTheo tháng, theo quy mô độiTheo tháng, theo cam kết xử lý sự cố
Phù hợp khiĐã biết rõ cần gì, cần chốt ngân sách trướcYêu cầu thay đổi thường xuyên, cần tốc độHệ thống quan trọng, không được gián đoạn
Bao gồmĐủ 6 giai đoạn, bảo hành sau nghiệm thuLập trình, thiết kế, kiểm thử, báo cáo định kỳGiám sát, vá bảo mật, sao lưu, báo cáo tháng

Dự án trọn gói

Hệ thống có phạm vi rõ ràng

Cách tính phí
Báo giá cố định sau giai đoạn khảo sát
Phù hợp khi
Đã biết rõ cần gì, cần chốt ngân sách trước
Bao gồm
Đủ 6 giai đoạn, bảo hành sau nghiệm thu

Đội phát triển riêng

Sản phẩm phát triển liên tục

Cách tính phí
Theo tháng, theo quy mô đội
Phù hợp khi
Yêu cầu thay đổi thường xuyên, cần tốc độ
Bao gồm
Lập trình, thiết kế, kiểm thử, báo cáo định kỳ

Vận hành và bảo trì

Hệ thống đã có, cần chạy ổn định

Cách tính phí
Theo tháng, theo cam kết xử lý sự cố
Phù hợp khi
Hệ thống quan trọng, không được gián đoạn
Bao gồm
Giám sát, vá bảo mật, sao lưu, báo cáo tháng
Câu hỏi thường gặp

Những câu hỏi doanh nghiệp thường đặt ra

Phiên bản đầu tiên với các chức năng cốt lõi thường mất khoảng 6 đến 10 tuần, tùy phạm vi. Quy trình gồm khảo sát 1 đến 2 tuần, thiết kế 2 đến 3 tuần, phát triển theo từng chặng 2 tuần (thời gian tùy phạm vi), kiểm thử 1 đến 2 tuần và chuyển giao khoảng 1 tuần. Mỗi thay đổi lên môi trường thử để doanh nghiệp duyệt trước khi lên hệ thống chính.

Trao đổi về hệ thống doanh nghiệp đang cần

Buổi trao đổi đầu tiên kéo dài 60 phút, không mất phí. Sau buổi này, doanh nghiệp nhận đánh giá sơ bộ về phạm vi, rủi ro và hướng triển khai phù hợp.

hotline 0383 406 735 · [email protected]

Chat ZaloNhắn tin tư vấn ngayGọi Hotline0383 406 735