---
title: "Fullswing — Website nội dung Nuxt & ảnh CDN — Tran Manh Tuan"
description: "Website nội dung Fullswing trên stack Nuxt hiện đại trong monorepo Turborepo — ảnh Contentful phân phối qua Akamai CDN, tự purge cache mỗi lần publish để tối ưu chi phí băng thông."
canonical: "https://tmtuan.dev/vi/projects/fullswing"
language: "vi"
image: "https://tmtuan.dev/_img/projects/fullswing/fullswing.122580d8-og.jpg"
tokens: 533
---

# Fullswing

**Fullswing** là website nội dung dạng bài viết, dựng trên stack hiện đại: **Nuxt 3 + TypeScript** trong monorepo **Turborepo**, nội dung quản lý bằng **Contentful** và có API tìm kiếm bài viết riêng.

Điểm đáng kể nhất của dự án là bài toán tối ưu chi phí phân phối ảnh: thay vì để ảnh đi thẳng từ Contentful — nơi băng thông có giới hạn theo gói — toàn bộ ảnh được phân phối qua **Akamai CDN**. Mỗi lần biên tập viên publish, webhook tự động purge cache Akamai nên nội dung trên site luôn mới mà không cần đợi cache hết hạn. Service xử lý luồng purge này chạy **Express** với helmet và rate limit ở phía trước.

Hạ tầng của hệ thống được quản lý bằng **Terraform**, cùng quy trình review như code ứng dụng.

## Thông tin

- **Vai trò:** Technical Lead
- **Website:** [fullswing.dena.com/](https://fullswing.dena.com/)

## Công nghệ

- Nuxt
- TypeScript
- Turborepo
- Contentful
- Node.js
- Express
- Akamai CDN
- Terraform

## Dịch vụ thể hiện qua dự án

- [Website doanh nghiệp & nền tảng nội dung](https://tmtuan.dev/vi/services/web-platforms)

## Bài viết liên quan

- [Knowledge Base docs-as-code + Context Graph cho portfolio 15 dự án](https://tmtuan.dev/vi/articles/knowledge-base-docs-as-code-context-graph)

## Structured data (JSON-LD)

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://tmtuan.dev/vi/projects/fullswing#webpage","url":"https://tmtuan.dev/vi/projects/fullswing","name":"Fullswing — Website nội dung Nuxt & ảnh CDN","description":"Website nội dung Fullswing trên stack Nuxt hiện đại trong monorepo Turborepo — ảnh Contentful phân phối qua Akamai CDN, tự purge cache mỗi lần publish để tối ưu chi phí băng thông.","inLanguage":"vi","isPartOf":{"@id":"https://tmtuan.dev/#website"},"about":{"@id":"https://tmtuan.dev/#person"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang chủ","item":"https://tmtuan.dev/vi"},{"@type":"ListItem","position":2,"name":"Dự án","item":"https://tmtuan.dev/vi/projects"},{"@type":"ListItem","position":3,"name":"Fullswing","item":"https://tmtuan.dev/vi/projects/fullswing"}]}]}
```
