Hub

Lộ trình thực hành

Build từng bước, nói được thành tiếng

Practice: xây portfolio

Module độc lập, nằm cạnh Docs, Plan và Interview. Bạn xây một monorepo portfolio thật (Next.js, NestJS, MySQL trong Docker) từ toolchain tới lúc deploy. Mỗi bước là một commit. Parker chưa rành backend, database và Docker, nên lộ trình đi từ nền tảng trước. Không hard-code thứ gì hiện trên trang: mọi chữ và ảnh đều lấy từ API. Không số điện thoại hay email cá nhân ở bất cứ đâu.

Chế độ: Xem
0/330%
Chế độ Xem — check-off và publish bị khóa.

Nguồn: Local (máy này)

M0

M0: Nền tảng

Cài tool, chạy MySQL trong Docker, viết SQL bằng tay, và dựng shell Next.js với token cùng theme.

Monorepo portfolio/, container MySQL healthy, ghi chú SQL, và trang Next.js placeholder có theme tại /.

Tiến độ

0/4

M1

M1: API đầu tiên

Thêm NestJS, Prisma, endpoint đọc public, contract zod dùng chung, và render trang chủ từ API.

Sửa một dòng seed rồi seed lại thì trang chủ đổi. API tắt thì hiện Error, không crash.

Tiến độ

0/5

M2

M2: Đồ thị nội dung

Model quan hệ, tag, post với content block, query param cho list, và trang public lấy từ data.

Có trang About, projects và blog. Grep chuỗi CV trong web app ra 0 hits.

Tiến độ

0/5

M3

M3: Phía ghi

Thêm CRUD, transaction cho reorder, và index kiểm chứng bằng EXPLAIN.

Mọi route ghi nằm trong api.http. Cố ý fail giữa transaction thì DB không đổi. Query list dùng index.

Tiến độ

0/3

M4

M4: Auth + CMS admin

Auth bằng session, guard và CSRF, rồi shell admin kiểu Linear với table và editor.

Chưa login mà vào /admin thì redirect sang login. Schema zod dùng chung validate cả browser lẫn server.

Tiến độ

0/5

M5

M5: Realtime, media, publish

Form liên hệ với inbox SSE, upload ảnh, và draft/publish kèm revalidate theo nhu cầu.

Gửi form liên hệ thì inbox cập nhật không cần reload. Publish hiện trên trang public dưới 5 giây.

Tiến độ

0/3

M6

M6: Chất lượng

SEO từ CMS, analytics tự host và audit log, test trong CI, rồi audit a11y và hiệu năng.

Lighthouse SEO 100 trên các trang chính. pnpm test xanh. axe báo 0 lỗi serious.

Tiến độ

0/4

M7

M7: Ship

Compose production, hardening và backup, nội dung CMS thật, rồi deploy lên domain riêng.

HTTPS trên domain riêng, deploy khi push lên main, DB production còn 0 hàng placeholder.

Tiến độ

0/4