Skip to content

v016604z/portfolio

Repository files navigation

Portfolio Website

個人作品集網站,展示專案開發經驗與技術能力。

🌐 Live Demo: https://v016604z.github.io/portfolio/

Tech Stack

  • Frontend: React 19 + TypeScript 5.9
  • Styling: Tailwind CSS v4
  • Build Tool: Vite 7 with SWC Fast Refresh
  • Code Quality: ESLint (flat config) + TypeScript strict mode

Features

  • 響應式設計,支援各種裝置
  • 專案展示採用痛點解決敘事方式
  • 互動式技術棧展示
  • 合作夥伴與教育背景展示
  • 優雅的 UI/UX 設計與動畫效果

Development

# Install dependencies
npm install

# Start dev server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Project Structure

src/
├── components/     # UI components
├── data/          # Static content (projects, skills, etc.)
├── types/         # TypeScript type definitions
├── hooks/         # Custom React hooks
└── assets/        # Static assets

License

MIT


Original Vite Template Notes

React Compiler

The React Compiler is currently not compatible with SWC. See this issue for tracking the progress.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

About

Personal portfolio website built with React and Tailwind CSS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors