中文版本 | English Version
Websites containing personal profiles and portfolios.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Internationalization: next-intl
- State Management: React Hooks
- Authentication: Clerk
- Animation: Motion One
- Development Tools: ESLint, Husky, TypeScript
├── app/ # Next.js App Router
│ ├── api/ # API routes and data fetching
│ ├── config/ # Configuration files
│ ├── i18n/ # Internationalization setup
│ ├── landing/ # Landing page routes
│ ├── messages/ # Translation files (EN/ZH)
│ ├── sign-in/ # Authentication pages
│ └── page.tsx # Main portfolio page
├── components/
│ ├── landing/ # Landing page components
│ ├── profile/ # Portfolio components
│ └── ui/ # Reusable UI components
├── lib/ # Utility functions
└── public/ # Static assets
# Install dependencies
pnpm install# Run development server
pnpm devOpen http://localhost:3000 with your browser to see the result.
# Build for production
pnpm build
# Start production server
pnpm start# Lint code
pnpm lintCreate a .env.local file in the root directory:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_keyThis project is optimized for deployment on:
- Vercel
- Shreyas-29/linkify - Used for Landing Page
This project is open source and available under the MIT License.