Chương 1: NX Monorepo Guide
Đây là phần trong series của mình về modern tooling cho indie full-stack developers. Mình xây dựng các side projects để tiếp tục trau dồi kỹ năng trong thời đại AI, và mình muốn chia sẻ những gì đã học để tất cả chúng ta có thể tiếp tục build những thứ thú vị cùng nhau.
Trong bài hướng dẫn này, chúng ta sẽ khám phá NX monorepos, một tool rất mạnh để giúp structure codebase cho việc scale, maintain, và build development workflow hiệu quả.
Yêu cầu
monorepo/├── apps/ # Thin, deployable entry points│ ├── web-app/ # Main Web App│ ├── mobile-app/ # Main Mobile app│ ├── api-server/ # Nodejs Backend API│ └── admin-dashboard/ # Admin App│├── libs/ # Where the actual code lives│ ├── web-modules/ # App-specific feature modules│ │ └── src/│ │ ├── feature-auth/│ │ ├── feature-dashboard/│ │ └── feature-settings/│ ├── ui/ # Shared UI components│ │ └── src/│ │ ├── button/│ │ ├── card/│ │ └── modal/│ ├── shared/ # Shared types, utils, constants│ │ └── src/│ │ ├── types/│ │ ├── utils/│ │ └── constants/│ └── db/ # Database layer│ └── src/│ ├── prisma/│ └── queries/│├── tools/ # Custom scripts and generators├── nx.json # NX workspace configuration├── tsconfig.base.json # Path aliases configuration└── package.json # Dependencies and scripts
Về tác giả
NAB, Lead Engineer
Mình là Vũ, hiện là Lead Engineer ở NAB (National Australia Bank). Mình bắt đầu ở mảng Home Lending, giờ đang lead một team làm sản phẩm cho HICAPS, dịch vụ point-of-sale claiming bảo hiểm sức khỏe tư nhân lớn nhất ở Úc. Trước NAB, mình từng làm ở các startup và nhiều team khác với đa dạng stack.
Upskills là nơi mình chia sẻ những kiến thức thực tế từ công việc, để giúp bạn build và ship dự án tốt hơn. Ngoài tutorial, sắp tới sẽ có thêm nhiều nội dung: project showcase, interview prep, và các AI tool, như những resource cho hành trình học của bạn. Mình rất vui được chia sẻ những kiến thức và kinh nghiệm đã học được trong suốt quá trình làm việc, và có thể chia sẻ thêm nhiều điều thú vị cùng nhau khi chúng ta tiếp tục build những thứ hay ho.
Các bài deep-dive về web development thực tế, một đến hai tuần một số, viết bởi engineer thực sự có kinh nghiệm build sản phẩm. Không sáo rỗng, không câu view.
Chúng tôi tôn trọng quyền riêng tư. Hủy đăng ký bất cứ lúc nào.