0

Quá chán việc setup bằng CLI khô khan, tôi làm hẳn một tựa Game kéo thả (Factorio) để cấu hình dự án Node.js!

Chào 500 anh em lập trình viên!

Chắc hẳn ai trong chúng ta cũng từng mệt mỏi với bước "khởi tạo dự án" (Scaffolding). Mỗi lần bắt tay vào làm một con Backend mới chuẩn Enterprise, bạn sẽ phải tốn hàng giờ đồng hồ để setup Clean Architecture, kết nối PostgreSQL, cài đặt Kafka, gắn Redis, rồi lại lạch cạch viết Docker, cấu hình CI/CD hay Terraform...

Tất nhiên, trên thị trường có không ít các CLI Boilerplate giúp tự động hóa việc này. Nhưng thú thật, trải nghiệm sử dụng chúng chẳng khác nào... điền tờ khai thuế. Bạn phải trả lời hàng tá câu hỏi (Y/N) trong terminal, hoặc check vào một mớ form dài dằng dặc trên website. Rất khô khan!

Đó là lý do tôi quyết định biến việc thiết kế kiến trúc hệ thống thành một Trò chơi điện tử.

Xin giới thiệu: Node.js Quickstart Generator phiên bản 2.8 với vũ trụ The Generator Multiverse.


Thiết kế kiến trúc Backend như chơi Game

Thay vì đọc Docs mỏi mắt, bạn có thể truy cập thẳng vào trang Play Hub của chúng tôi. Ở đây, bạn sẽ được chọn 2 chế độ "Arcade Mode" để gen ra mã nguồn:

1. Cây kỹ năng kiến trúc (The Architecture Skill Tree)

Bạn đã từng chơi game RPG và phải cày cuốc để "Nâng cấp kỹ năng"? Tôi đã mang chính concept đó vào việc thiết kế Backend.

Nếu bạn là một Junior/Fresher, một cái list dài dằng dặc 50 công nghệ chắc chắn sẽ làm bạn bị ngợp. Với Skill Tree, mọi thứ trở thành một bản đồ lộ trình học tập trực quan. Bạn bắt đầu ở rễ cây (chọn Ngôn ngữ: JS/TS), mở khóa kỹ năng Cốt lõi (MVC hay Clean Architecture), rồi mới được phép tiến tới các nhánh cao hơn (Data, Caching, Messaging). Bạn hoàn toàn không thể mở khóa "Resilience Patterns" (Circuit Breaker/Retry) nếu chưa sở hữu một Database.

Khi bạn click mở khóa cây kỹ năng, dòng lệnh CLI sẽ được tự động rèn (Forge) ngay trên màn hình. Rất trực quan và mang tính giáo dục cực cao!

2. Xây nhà máy Backend (Backend Factorio Builder)

Dành cho những tay to (Senior) thích sự mãn nhãn.

Bạn sẽ được cung cấp một bản vẽ trống. Nhiệm vụ của bạn là: Kéo thả các khối tính năng để xây dựng một dây chuyền xử lý được 1.000 Requests/s. Bạn ném khối "TypeScript" vào ô, thả tiếp khối "Kafka", gắn "Redis" vào bộ nhớ đệm, dán thêm "GitHub Actions" vào hệ thống CI/CD.

Ngay khi nhà máy lắp ráp xong, hệ thống sẽ phân tích sơ đồ của bạn và xuất ra chính xác dòng lệnh terminal bạn cần. Không dư thừa một chữ!


Không chỉ làm màu - Công nghệ lõi cực kỳ "Khủng"

Đừng để giao diện game lừa bạn. Phía sau những thao tác kéo thả mượt mà là một cỗ máy tính toán mạnh mẽ.

Tech Stack đằng sau: Trang Web Game này được xây dựng bằng Pure Vue 3 Component chạy thẳng trên nền VitePress. Điểm ăn tiền là nó không xài bất kỳ thư viện làm Game nặng nề nào (như Phaser hay Canvas). Điều này giúp game đạt 0ms Latency, siêu nhẹ, chuẩn SEO và không tốn một giọt tài nguyên Server nào vì mọi thứ chạy 100% ở Client-side.

Toàn bộ Logic của Game được ánh xạ 1:1 với CLI Engine. Hệ thống sẽ đánh giá các lựa chọn của bạn dựa trên ma trận 1.41 triệu tổ hợp kiến trúc khác nhau. Khi bạn bấm nút xuất lệnh, kết quả trả về sẽ trông như thế này:

npx nodejs-quickstart-structure@latest init -n "factory-backend" -l "TypeScript" -a "Clean Architecture" -d "PostgreSQL" -c "Kafka" --caching "Redis" --ci-provider "GitHub Actions" --cloud-provider "AWS"

Chỉ việc Copy -> Paste vào Terminal. Trong đúng 3 giây, toàn bộ cấu trúc dự án chuẩn Enterprise sẽ hiện ra trước mắt bạn. Đặc biệt: Mã nguồn sinh ra được cam kết Zero-Vulnerability (Passed 100% khi chạy snyk testnpm audit).


Trải nghiệm ngay!

Developer Tools không nhất thiết lúc nào cũng phải khô khan. Bằng cách "Game hóa" (Gamification), chúng ta giúp việc tiếp cận các kiến trúc phức tạp trở nên dễ dàng, thú vị và kích thích sự sáng tạo hơn rất nhiều.

Anh em xem thử và góp ý giúp mình xem nên thêm "Kỹ năng" hay "Khối hộp" nào vào game trong phiên bản tiếp theo nhé! Chúc anh em code vui vẻ!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí