# GoodGo Platform - Web Client
> **EN**: Enterprise-grade web client for GoodGo microservices platform
> **VI**: Web client cấp doanh nghiệp cho nền tảng microservices GoodGo
## Features / Tính Năng
- ✅ **Brand Identity System** - Complete logo suite, favicons, and illustrations
- ✅ **Design System** - Professional design tokens with brand colors, gradients, and glassmorphism
- ✅ **UI Component Library** - Enhanced components with brand variants (Button, EmptyState, Loading States, Logo)
- ✅ **Dark/Light Theme** - Automatic theme switching with system preference
- ✅ **Internationalization** - Multi-language support (i18n ready)
- ✅ **TypeScript** - Full type safety
- ✅ **Tailwind CSS 4** - Modern utility-first styling
- ✅ **Next.js 14** - App Router with RSC
- ✅ **Accessibility** - WCAG 2.1 AA compliant
- ✅ **PWA Ready** - Progressive Web App support
## Tech Stack
- **Framework**: Next.js 14 (App Router)
- **Language**: TypeScript 5+
- **Styling**: Tailwind CSS 4 (CSS-first)
- **State Management**: Zustand
- **API Client**: `@goodgo/http-client`
- **Testing**: Vitest + Playwright
- **Component Development**: Storybook
##Development / Phát Triển
```bash
# Install dependencies / Cài đặt dependencies
pnpm install
# Start dev server / Khởi động dev server
pnpm dev
# → http://localhost:3000
# Start Storybook / Khởi động Storybook
pnpm storybook
# → http://localhost:6006
# Build for production / Build cho production
pnpm build
# Type checking / Kiểm tra kiểu
pnpm typecheck
# Lint / Kiểm tra lỗi
pnpm lint
```
## Environment Variables / Biến Môi Trường
Create `.env.local` file:
```bash
# API URL
NEXT_PUBLIC_API_URL=http://localhost/api/v1
```
## Brand Assets / Tài Sản Thương Hiệu
Brand assets are located in `/public/brand-assets/`:
- **Logos**: `/brand-assets/logo/` (full, icon, wordmark variants)
- **Icons**: `/brand-assets/icons/` (favicon)
- **Illustrations**: `/brand-assets/illustrations/` (empty state, error state)
Usage in components:
```tsx
import { BrandLogo } from '@/components/ui/brand-logo';
import { BRAND } from '@/lib/brand-constants';
// Logo component