Tấn Phát Digital

Dự Án Vibe Code Đầu Tiên: Làm Trang Chia Tiền Ăn Nhóm Từ Mô Tả Đến Lúc Lên Mạng

5 tháng 11, 2026
500
Vibe coding
Lập trình với AI
Học lập trình
Dự Án Vibe Code Đầu Tiên: Làm Trang Chia Tiền Ăn Nhóm Từ Mô Tả Đến Lúc Lên Mạng - Tấn Phát Digital

Đọc về vibe code thì dễ, làm xong một dự án trọn vẹn mới khó. Phần lớn người mới dừng ở "chạy được trên máy tôi", trong khi một dự án chỉ thật sự xong khi người khác mở được bằng một đường link và dùng được mà không cần bạn giải thích.

Bài này đi qua một dự án đầu tiên từ đầu đến cuối: trang chia tiền ăn nhóm, một file HTML, dùng trên điện thoại. Đây là bài thực hành cho chặng 4 trong lộ trình học vibe code từ đầu. Các mẫu yêu cầu dùng đúng cách viết trong bài cách viết prompt khi vibe code; công cụ nào cũng làm được, kể cả chatbot miễn phí.

Vì sao chọn trang chia tiền ăn nhóm

  • Có thật: đi ăn nhóm, một người trả trước, ai cũng từng phải ngồi bấm máy tính chia.

  • Một màn hình, một file: không cần đăng nhập, không cần cơ sở dữ liệu, không lưu thông tin của ai.

  • Kiểm tra được bằng tay: kết quả đúng hay sai, bạn tự tính lại được trong một phút.

  • Có một chỗ khó vừa đủ: làm tròn tiền. Đây là chỗ bạn sẽ học cách nhờ AI hỏi lại.

Nếu bạn có ý tưởng riêng cùng tiêu chí trên, như trang tính tiền điện phòng trọ hay trang đếm ngược ngày cưới, cứ thay vào; các bước giống hệt.

Bước 1: Viết bản mô tả

Tên: Chia tiền ăn nhóm
Dùng cho: nhóm 3–10 người đi ăn, một người trả trước.
Màn hình: một trang, dùng chủ yếu trên điện thoại.
Nhập vào: tổng hóa đơn; tên từng người; tiền món gọi riêng của từng người (nếu có).
Trả ra: mỗi người trả bao nhiêu; nút chép kết quả để dán vào Zalo.
Không cần: đăng nhập, lưu lịch sử, nhiều ngôn ngữ.
Công nghệ: một file index.html, không dùng thư viện ngoài.

Gửi bản mô tả kèm câu "Trước khi viết code, hãy hỏi tôi những điểm còn chưa rõ". Câu hỏi đáng giá nhất AI thường đưa ra ở dự án này: chia ra số lẻ thì làm tròn thế nào, phần dư ai giữ? Trả lời: làm tròn lên đến 1.000 đồng, phần dư hiện riêng để người trả trước biết.

Bước 2: Bản đầu tiên, cố tình thật đơn giản

Tạo một thư mục tên chia-tien trên máy. Yêu cầu đầu tiên chỉ cần phần lõi:

Bối cảnh: dự án mới, chưa có file nào.
Việc cần làm: tạo index.html có ô tổng tiền, ô số người, nút "Chia"; bấm nút thì hiện số tiền mỗi người.
Ràng buộc: chưa cần giao diện đẹp, chưa cần làm tròn.
Kiểm tra: 300.000 đ, 3 người thì hiện 100.000 đ.

Lưu code AI trả về vào chia-tien/index.html, mở bằng trình duyệt. Thử con số trong phần kiểm tra, rồi thử thêm một con số "xấu", ví dụ 250.000 đ cho 3 người. Bản đầu sẽ hiện 83333.33333333333 đ, như hình bên trái dưới đây. Đó không phải thất bại: bạn vừa tự tìm ra lỗi đầu tiên bằng một phép thử, đúng việc bạn cần học.

Trang chia tiền ăn nhóm: bản đầu hiện số lẻ 83333.33 đồng, bản sau có danh sách người, món riêng, làm tròn 1.000 đồng và phần dư

Trước khi sang bước sau, lưu phiên bản này: dùng Git nếu bạn đã biết, hoặc đơn giản là sao chép file thành index-ban-1.html.

Bước 3: Thêm từng tính năng, mỗi lần một yêu cầu

Bốn yêu cầu nhỏ, gửi lần lượt, sau mỗi yêu cầu chạy thử và lưu phiên bản:

  1. Danh sách người: thay ô "số người" bằng danh sách tên, có nút "Thêm người" và nút xóa ở mỗi dòng. Kiểm tra: thêm 3 người, xóa 1, kết quả tính cho 2 người.

  2. Món gọi riêng: mỗi dòng có thêm ô tiền món riêng; phần chung chia đều, món riêng cộng vào người đã gọi. Kiểm tra: tổng 250.000 đ, một người gọi riêng 45.000 đ.

  3. Làm tròn: làm tròn lên đến 1.000 đ, hiện thêm một dòng "Dư do làm tròn".

  4. Nút chép kết quả: chép danh sách "Tên: số tiền" để dán vào Zalo.

Với ví dụ trong hình: phần chung (250.000 − 45.000) ÷ 3 = 68.333,33 đ, làm tròn lên thành 69.000 đ. An và Chi mỗi người 69.000 đ, Bình 69.000 + 45.000 = 114.000 đ. Tổng thu 252.000 đ, dư 2.000 đ. Bạn nên tự tính lại như vậy, đừng tin con số trên màn hình chỉ vì trông có vẻ hợp lý.

Sau bốn yêu cầu này mới yêu cầu giao diện, cũng theo kiểu cụ thể: "nút và ô nhập cao hơn để dễ chạm, kết quả nằm trong một khung, dòng phần dư tô màu nổi". Làm giao diện sau cùng để mọi lần sửa giao diện không đụng vào phần tính toán đã đúng.

Bước 4: Thử như một người dùng thật

Trước khi đưa lên mạng, dành mười lăm phút đóng vai người dùng:

ThửMong đợi
Bấm "Chia tiền" khi chưa có ai trong danh sáchBáo cần thêm ít nhất một người, không hiện kết quả sai
Để trống tên một ngườiVẫn tính được, hiện tên mặc định
Món riêng lớn hơn tổng hóa đơnBáo lỗi, không ra số âm
Nhập tổng tiền có dấu chấm như 250.000Xem trang xử lý thế nào, nếu sai thì thêm một yêu cầu sửa
Mở trên điện thoạiKhông phải cuộn ngang, chữ đủ to, bàn phím số hiện ra khi nhập tiền

Để xem trên điện thoại ngay trên máy tính, mở công cụ cho nhà phát triển của Chrome (phím F12) rồi bật chế độ thiết bị di động; hoặc dùng công cụ kiểm tra giao diện theo kích thước màn hình. Mỗi lỗi tìm được là một yêu cầu mới theo mẫu báo lỗi năm phần.

Bước 5: Đưa lên mạng bằng GitHub Pages

Trang một file như thế này đưa lên mạng miễn phí được bằng nhiều dịch vụ. Dưới đây là cách dùng GitHub Pages, vì nó cũng là bước đầu làm quen với Git:

  1. Tạo tài khoản GitHub, tạo một kho (repository) mới ở chế độ công khai, đặt tên ví dụ chia-tien.

  2. Trong kho, chọn tải file lên và đưa index.html vào, rồi lưu thay đổi (commit).

  3. Vào phần Settings của kho, mục Pages, chọn nguồn là nhánh chính (main), thư mục gốc, rồi lưu.

  4. Chờ một lúc, GitHub hiện đường link dạng tên-tài-khoản.github.io/chia-tien.

Kho công khai nghĩa là ai cũng xem được code. Với trang chia tiền thì không sao; nhưng đây chính là lý do không bao giờ được để khóa API hay mật khẩu trong code. Giao diện các dịch vụ có thể đổi theo thời gian; nếu không thấy đúng tên mục, hỏi AI "hướng dẫn bật GitHub Pages cho một file index.html" và nhắc nó kiểm tra theo giao diện hiện tại.

Bước 6: Gửi cho một người dùng thử

Gửi đường link cho một người bạn trong nhóm hay đi ăn cùng, đừng giải thích gì, chỉ nói "lần sau đi ăn thử dùng cái này chia tiền". Nếu muốn gửi kèm khi gặp trực tiếp, tạo mã QR cho đường link. Quan sát hoặc hỏi lại:

  • Họ có hiểu ô "món riêng" dùng để làm gì không?

  • Có bước nào họ phải hỏi lại bạn không?

  • Họ có muốn thêm gì không? Ghi lại, nhưng đừng làm ngay; quyết định sau.

Khi người đó dùng được mà không cần hỏi bạn, dự án đầu tiên đã xong. Đó là mốc để sang chặng 5 của lộ trình.

Những lỗi người mới hay gặp ở dự án đầu tiên

  • Thêm tính năng trước khi phần lõi tính đúng. Giao diện đẹp mà tính sai thì vẫn là sai.

  • Không tự tính lại kết quả, tin con số AI tạo ra vì trông hợp lý.

  • Chỉ thử bằng con số đẹp (300.000 đ chia 3), bỏ qua con số lẻ, ô trống, dữ liệu vô lý.

  • Không lưu phiên bản, đến khi yêu cầu thứ năm làm hỏng thì không quay lại bản thứ tư được.

  • Mở rộng phạm vi giữa chừng: thêm đăng nhập, lưu lịch sử, chia theo phần trăm, khiến dự án đầu tiên không bao giờ xong.

  • Dừng ở máy mình, không đưa lên mạng, nên không bao giờ gặp những lỗi chỉ lộ ra khi người khác dùng.

Sau dự án đầu tiên

Làm thêm một hai dự án cùng cỡ với ý tưởng khác, mỗi lần tự viết bản mô tả và tự nghĩ các phép thử. Song song, bắt đầu đọc code AI viết: nhờ AI giải thích từng đoạn trong file index.html của bạn, đó là cách nhẹ nhàng nhất để vào chặng 5 của lộ trình học vibe code.

Khi dự án tiếp theo có lưu dữ liệu của người khác, có form liên hệ hay nối với dịch vụ trả phí, phần kiểm tra trước khi công khai trở nên quan trọng hơn rất nhiều so với một trang chia tiền. Và nếu ý tưởng là website cho công việc kinh doanh của bạn, bài AI có thể tạo website trong 1 ngày? giúp bạn biết phần nào tự làm được và phần nào nên có người làm nghề.

Muốn dự án đầu tiên là một website thật? Khóa học vibe code cho người mới của Tấn Phát Digital học online qua Zoom hoặc Google Meet trong 3 ngày, học phí 10 triệu đồng. Thay cho trang chia tiền, bạn làm website giới thiệu nhiều trang của chính mình, chạy trên tên miền riêng, có form liên hệ, đã đưa lên Google, và biết cách tự sửa, tự thêm tính năng bằng AI sau khóa. Liên hệ Tấn Phát Digital để hỏi lịch khai giảng.

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

Dự án vibe code đầu tiên nên làm gì?

Một việc có thật, dùng trong một màn hình, một file, không cần đăng nhập, không lưu dữ liệu của người khác và tự kiểm tra kết quả bằng tay được, ví dụ trang chia tiền ăn nhóm, trang tính tiền điện phòng trọ hoặc trang đếm ngược sự kiện.

Nên yêu cầu AI làm hết một lần hay từng phần?

Từng phần. Bản đầu chỉ làm phần lõi, sau đó mỗi tính năng là một yêu cầu riêng, chạy thử và lưu phiên bản sau mỗi lần. Giao diện để sau cùng để các lần sửa giao diện không đụng vào phần tính toán đã đúng.

Làm sao biết code AI viết tính đúng?

Tự tính lại bằng tay với vài ví dụ, trong đó có con số lẻ, ô để trống và dữ liệu vô lý như món riêng lớn hơn tổng hóa đơn. Không tin kết quả trên màn hình chỉ vì trông hợp lý.

Đưa trang vibe code lên mạng miễn phí bằng cách nào?

Với trang một file HTML, có thể dùng GitHub Pages: tạo kho công khai, tải file index.html lên, vào Settings, mục Pages, chọn nhánh chính và thư mục gốc rồi lưu, GitHub sẽ cấp đường link dạng tên-tài-khoản.github.io/tên-kho. Kho công khai nên không để khóa API hay mật khẩu trong code.

Khi nào dự án vibe code đầu tiên được coi là xong?

Khi đã đưa lên mạng và một người khác mở đường link, dùng được mà không cần hỏi bạn. Chạy được trên máy của bạn chưa phải là xong, vì nhiều lỗi chỉ lộ ra khi người khác dùng trên thiết bị của họ.

Sau dự án đầu tiên nên học gì tiếp?

Làm thêm một hai dự án cùng cỡ, tự viết bản mô tả và tự nghĩ phép thử, đồng thời nhờ AI giải thích từng đoạn code trong dự án của mình để học dần HTML, CSS, JavaScript ở mức đọc hiểu, cùng terminal và Git.

Bài viết liên quan

Bài cùng chuyên mục

Bài trụ cột của chủ đề

Hình ảnh đại diện của bài viết: Hướng Dẫn Chọn Hosting & Domain Chuyên Nghiệp Cho Website Doanh Nghiệp Nhỏ
Bài trụ cột

Hướng Dẫn Chọn Hosting & Domain Chuyên Nghiệp Cho Website Doanh Nghiệp Nhỏ

Khám phá lộ trình xây dựng hạ tầng kỹ thuật vững chắc cho website doanh nghiệp với các tư vấn chuyên môn về tên miền quốc gia, công nghệ hosting hiện đại

Bài mới nhất cùng chuyên mục

TAN PHATDIGITAL