Trang cá nhân tổng hợp kiến thức lập trình (OOP, C căn bản, SQL, JWT/Auth, Backend) và blog cá nhân. Xây bằng React + Vite + Tailwind CSS để vừa học FE vừa dùng làm nơi lưu & chia sẻ kiến thức cho học viên.
npm install
npm run dev # http://localhost:5173Build production:
npm run build
npm run previewsrc/
├── components/ # Navbar, Footer, PostCard...
├── pages/ # Home, Knowledge, Blog, PostDetail, About
├── content/ # Bài viết dạng Markdown, chia theo thư mục = category
│ ├── oop/
│ ├── c-basic/
│ ├── sql/
│ ├── jwt-auth/
│ ├── backend/
│ └── blog/
└── utils/loadPosts.js # Đọc & parse toàn bộ file .md lúc build
Tạo file .md mới trong đúng thư mục category (hoặc content/blog cho bài
blog), theo format:
---
title: "Tiêu đề bài viết"
date: "2026-08-10"
tags: ["java", "oop"]
description: "Mô tả ngắn hiện ở card preview"
---
Nội dung bài viết viết bằng Markdown bình thường...File mới sẽ tự động xuất hiện ở trang danh mục tương ứng — không cần đụng vào code React.
Sửa mảng CATEGORIES trong src/utils/loadPosts.js, rồi tạo thư mục cùng
tên trong src/content/.
cd code-dojo
git init
git add .
git commit -m "chore: khởi tạo code dojo"
git branch -M main
git remote add origin https://github.com/<username>/code-dojo.git
git push -u origin main(Tạo repo trống tên code-dojo trên GitHub trước, không tick "Initialize
with README" để tránh conflict khi push.)
Khuyến nghị Vercel: import repo GitHub → Vercel tự nhận Vite, deploy
mỗi lần push lên main.
- Viết đủ 3-5 bài mỗi category (OOP, C, SQL, JWT, Backend)
- Thêm search/filter theo tag trên trang Knowledge
- Trang chi tiết: thêm nút "sao chép code", syntax highlight (rehype-highlight)
- Dark mode (giữ tinh thần trắng-xanh, thêm bảng màu tối tương ứng)
- (Sau này) Trang login JWT thật để học viên lưu tiến độ đọc