Giới thiệu

Tổng quan về dung87.io.vn — personal hub và directory các dự án

Giới thiệu dung87.io.vn

dung87.io.vnpersonal hub — trang chủ cá nhân kiêm directory cho một hệ thống các dự án con. Mỗi dự án là một subdomain riêng (vd mbti.dung87.io.vn, blog.dung87.io.vn, cv.dung87.io.vn).

Khác với một portfolio truyền thống liệt kê tất cả dự án trong cùng một site, hub này trỏ đi — liệt kê các project như một directory, mỗi click mở ra một subdomain độc lập.

Tính năng chính

  • 🎨 Dark theme — identity tối #0F0F13 + accent coral #FF6B81, glass-morphism cards, animated gradient orbs.
  • 🌐 Song ngữ vi / en — vi ở /, en ở /en. Switcher trong header. hreflang tags đầy đủ cho SEO.
  • 📂 Project directory — data từ src/data/projects.json. Mỗi project có status (live / coming_soon / ideating / archived).
  • 🔍 Skill filter — click skill tag → lọc project grid theo tech. URL persist ?skill=react để share được.
  • 📅 Now timeline — nhật ký ngắn “đang làm gì”, 3 entries gần nhất từ src/data/now.json.
  • 🏷️ Tags + tech — mỗi project có tags (category user-facing) + tech (stack). Sort/filter linh hoạt.
  • 🚀 Lazy favicon — card live tự load favicon từ subdomain để prove liveness.
  • Accessibility — skip-link, ARIA roles, focus rings, prefers-reduced-motion guard.
  • Fast — ~50KB HTML, ~3KB inline JS. Lighthouse mobile ≥95.
  • 🤖 Auto CI/CD — GH Actions validate → build → deploy tự động khi push.
  • 📋 Daily healthcheck — cron workflow probe mọi live subdomain, mở issue nếu fail.

Tech stack

LayerChoice
Static site generatorAstro 5 (output: "static")
StylingTailwind CSS 3 qua @astrojs/tailwind
Type systemTypeScript (strict mode)
Data validationZod (runtime + build-time)
DeploymentCloudflare Pages (free tier)
DNSCloudflare (zone dung87.io.vn)
CI/CDGitHub Actions (CI + Deploy + Healthcheck)
Node20+ (xem .nvmrc)

Subdomains hiện tại

SubdomainStatusStackMô tả
mbti.dung87.io.vn🟢 LiveReact + TypeScript + ViteMBTI Personality Test — 16 nhóm tính cách
blog.dung87.io.vn🟡 Coming soonAstro + MDXPersonal blog — ghi chú về dev & tools
lab.dung87.io.vn🟣 IdeatingPlayground cho ý tưởng nhỏ
cv.dung87.io.vn🟣 IdeatingAstroWeb-based CV / resume

Danh sách always-up-to-date: xem CLAUDE.md trên GitHub.

Architecture

┌──────────────────────────────────────────────────┐
│ GitHub: vuhuudung/dung87.io.vn                  │
│   └─ push to main                                │
│       ↓                                          │
│   GitHub Actions: deploy.yml                     │
│       ├─ npm ci                                  │
│       ├─ npm run validate                        │
│       ├─ npm run check-claude-md                 │
│       ├─ npm run build                           │
│       └─ cloudflare/pages-action@v1              │
│              ↓                                   │
│   Cloudflare Pages project 'dung87-io-vn-hub'    │
│       ├─ Custom domain: dung87.io.vn             │
│       ├─ Custom domain: www.dung87.io.vn         │
│       └─ Auto SSL                                │
│              ↓                                   │
│   https://dung87.io.vn/* (CDN-cached, fast)      │
└──────────────────────────────────────────────────┘

Xem tiếp: