---
title: "Wonderia — Website đa ngôn ngữ trên GCP — Tran Manh Tuan"
description: "Website thương hiệu đa ngôn ngữ của Wonderia YOKOHAMA (wonderia.jp) — 4 ngôn ngữ, marketing tự xuất bản qua Contentful, vận hành serverless trên Google Cloud."
canonical: "https://tmtuan.dev/vi/projects/wonderia"
language: "vi"
image: "https://tmtuan.dev/_img/projects/wonderia/wonderia.afca6a30-og.jpg"
tokens: 863
---

# Wonderia

**Wonderia YOKOHAMA** là website bộ mặt thương hiệu tại **wonderia.jp**, tiếp cận du khách bằng 4 ngôn ngữ: Nhật, Anh, Hàn và Trung (phồn thể). Bài toán đặt ra: đội marketing tự cập nhật nội dung mà không phải chờ lập trình viên, mọi yêu cầu liên hệ và đặt lịch cho đoàn khách phải đến thẳng đội chăm sóc khách hàng không lọt và không lẫn spam, hệ thống chạy ổn định, bảo mật, chi phí vận hành thấp.

Site dựng bằng **Next.js 15 / React 19**, đa ngôn ngữ với next-intl (định tuyến theo locale, SEO đa ngôn ngữ). Nội dung được dựng sẵn thành trang ngay lúc build nên tải gần như tức thì và không phụ thuộc CMS khi có người truy cập; hiệu ứng chuyển động và parallax tạo trải nghiệm đậm chất một điểm đến giải trí. Biên tập viên soạn nội dung trên **Contentful** — bấm Publish hoặc Deploy to Dev ngay trong giao diện CMS là hệ thống tự build, tự deploy lên đúng môi trường và báo kết quả qua Slack, không cần gửi ticket cho IT hay chờ release.

Form liên hệ và form đặt đoàn (có cấu trúc riêng) đi qua một **API độc lập (Node.js/Express trên Cloud Run)**: kiểm tra dữ liệu chặt chẽ bằng Zod, chặn bot bằng Google reCAPTCHA, rồi tự tạo ticket trên **Zendesk** để đội CS nhận yêu cầu sạch, đầy đủ và phản hồi được ngay. Kết nối ra ngoài đi qua IP tĩnh (Cloud NAT) nên đáp ứng được yêu cầu whitelist của đối tác.

Toàn bộ hạ tầng định nghĩa bằng **Terraform**, môi trường Dev và Production tách biệt hoàn toàn, kiến trúc serverless tự co giãn theo lượng truy cập. Mỗi thay đổi code đều tự động qua ba bước quét bảo mật — lỗ hổng thư viện và container (Trivy), lỗi bảo mật trong mã nguồn (Semgrep), rò rỉ khoá bí mật (Gitleaks); khoá bí mật giữ trong Secret Manager, container chạy bằng user không có quyền root, và mỗi dịch vụ chỉ được cấp đúng quyền cần dùng.

## Thông tin

- **Vai trò:** Technical Lead
- **Website:** [wonderia.jp/](https://wonderia.jp/)

## Công nghệ

- React
- Next.js
- TypeScript
- next-intl
- Contentful
- Node.js
- Express
- Cloud Run
- Zendesk
- reCAPTCHA
- Terraform
- Github Action
- Docker
- Trivy
- Semgrep
- Gitleaks

## 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)
- [Hạ tầng Cloud](https://tmtuan.dev/vi/services/gcp-cloud-infrastructure)

## 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)
- [Truy vết HTTP 500 chỉ xảy ra với Googlebot, xuyên Next.js, Cloud Run và hosting edge](https://tmtuan.dev/vi/articles/googlebot-500-firebase-hosting-nextjs)

## Structured data (JSON-LD)

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://tmtuan.dev/vi/projects/wonderia#webpage","url":"https://tmtuan.dev/vi/projects/wonderia","name":"Wonderia — Website đa ngôn ngữ trên GCP","description":"Website thương hiệu đa ngôn ngữ của Wonderia YOKOHAMA (wonderia.jp) — 4 ngôn ngữ, marketing tự xuất bản qua Contentful, vận hành serverless trên Google Cloud.","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":"Wonderia","item":"https://tmtuan.dev/vi/projects/wonderia"}]}]}
```
