Tran Manh Tuan

Corporate IR Platform

A corporate and investor-relations (IR) website platform for a listed company in Japan — the most backend-heavy project in this portfolio: instead of a commercial CMS, the entire content-management system was built in-house to match the workflows of a listed company, managing bilingual Japanese/English press releases, stories, recruiting news and emergency notices.

The CMS is built with Vue 3 + TypeScript + Vite: sign-in through Firebase Auth with authorisation via custom claims, a block-based editor, content stored in Firestore and images in Cloud Storage. Scheduled posts publish themselves — Cloud Scheduler runs hourly through Pub/Sub to sweep and publish on time with no operator involved.

Firestore data is backed up periodically and synced to BigQuery; a full-text search API runs on top of that data layer. A separate content-aggregation API — running on App Engine with caching — collects RSS feeds from the group's other sites and third-party IR news for centralised display.

The frontend is Nuxt rendered server-side (SSR). Infrastructure is defined with Terraform: the Load Balancer, Cloud Armor (WAF) in front and Firebase rules are all managed in one place, so infrastructure changes go through review like code changes.

Image 1 of 5