This is the official website for Google Developer Groups (GDG) Taiwan, built with Next.js, TypeScript, Tailwind CSS, and i18n. The site aims to promote Google technologies, foster developer community connections, and encourage learning and growth among developers in Taiwan and beyond.
- Next.js 14: Modern React framework with SSR/SSG/ISR and SEO support.
- TypeScript: Static typing for better maintainability.
- Tailwind CSS: Utility-first, responsive UI design.
- i18n: Multi-language support (Traditional Chinese, Simplified Chinese, English, Japanese, Korean).
- Automatic Sitemap & robots.txt: SEO-friendly with automated generation.
- Hydration Optimization: Prevents SSR/CSR mismatch using custom hooks.
- Component-based Architecture: Modular and maintainable codebase.
- Unit Testing: Ensures core feature quality.
src/
components/ # Shared components (Header, Footer, UI, useClientOnly, etc.)
page-section/ # Main page section components
ui/ # Basic UI components
hooks/ # Custom React hooks
i18n/ # i18n config and locale files
locales/ # Translation files for each language
pages/ # Next.js pages (404, index, etc.)
public/ # Static assets (favicon, images, etc.)
next-sitemap.config.js# Sitemap configuration
-
Install dependencies
npm install # or yarn install
-
Run locally
npm run dev # or yarn dev
-
Build and generate sitemap
npm run build # Generates sitemap.xml and robots.txt
- Translation files are in
src/i18n/locales/
- Managed with react-i18next
- To add a new language, create a new folder and translation file in
locales/
- All components that depend on client-only state (e.g., useTheme, useIsMobile, useTranslation) use the
useClientOnly
hook to ensure client-side rendering only, preventing SSR/CSR mismatch.
- next-sitemap is used to automatically generate
sitemap.xml
androbots.txt
. - Configuration is in
next-sitemap.config.js
. Please updatesiteUrl
to your production domain.
- All core features should have unit tests.
- To run tests:
npm run test
- See
/fixes/
for major bug fix records. - Do not commit
.env
files to version control. - Do not make large-scale architecture changes without review.
- Follow code comments and PRD documentation for detailed rules.
- All design patterns, technologies, and components used should be documented in this README.
- For repeated errors, check the fixes and log records first.
We welcome all developers interested in Google technologies to join us, learn, share, and grow together!