ViteReact作品集

web-portfolio — Vite 作品集模板

作者 MelihIlker

基于 Vite、React 与 TypeScript 的终端风格个人作品集模板,使用 Tailwind CSS 构建,包含动画画布背景、项目展示、技能进度条与土耳其语/英语双语支持,并具备 PWA 能力。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-13查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

终端风格界面,包含 Canvas 动画网格背景与打字机文本效果

02

内置土耳其语与英语双语切换,语言状态持久化到 localStorage

03

项目展示支持详情弹窗,可呈现技术栈与在线演示链接

04

技能区块使用计数动画的进度条进行可视化

05

提供 Service Worker 与 manifest.json,具备 PWA 安装与离线能力

06

使用 Vite 构建,包含代码分割、懒加载与错误边界等实现

模板详细介绍

该模板是一个终端风格的个人作品集网站,使用 Vite 作为构建工具,React 与 TypeScript 编写,Tailwind CSS 负责样式。页面结构覆盖 Hero 首屏、项目展示、技能、工作经历、教育背景、联系方式与页脚等区块,并配有导航侧边栏。交互方面提供基于 Canvas 的动画网格背景、打字机效果文本、项目详情弹窗以及技能进度条的计数动画。

模板内置土耳其语与英语的双语切换,语言状态通过 Context 管理并持久化到 localStorage。同时提供 PWA 相关文件(Service Worker、manifest.json),支持离线缓存与安装。项目使用 Framer Motion 处理动画,并包含自定义 Hooks、错误边界、骨架屏加载与懒加载图片等实现。

使用限制方面,仓库未附带环境变量要求,基础功能可直接运行;部署配置面向 Vercel,也可构建为静态文件部署到其他静态托管平台。代码采用 MIT 许可,但演示图片、字体、图标等第三方素材需单独核对许可。README 中提到的 Lighthouse 分数、Core Web Vitals 等性能指标属于作者自述,未在本资料中独立验证。

ViteReact作品集

适合你的项目吗?

适用场景

  • 开发者或设计师搭建个人作品集网站,展示项目、技能与工作经历
  • 需要中英之外双语(土耳其语/英语)切换的简历或作品集页面
  • 希望以终端风格视觉呈现个人技术背景的静态站点
  • 需要 PWA 安装与离线访问能力的个人网站

适合人群

  • 具备 React 与 TypeScript 基础、希望快速搭建作品集的开发者
  • 需要终端风格视觉与动画效果的个人网站需求
  • 需要土耳其语与英语双语支持的求职者或自由职业者
  • 计划部署到 Vercel 或其他静态托管平台的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    克隆仓库后执行 npm install 安装依赖,使用 npm run dev 启动开发服务器

  2. 2

    生产构建使用 npm run build,输出目录为 dist/,可用 npm run preview 预览

  3. 3

    基础功能不需要环境变量;部署到 Vercel 时使用仓库内的 vercel.json 配置

  4. 4

    代码为 MIT 许可,分发时需保留版权声明与许可声明;演示图片、字体、图标等第三方素材需单独核对许可

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 88 / 100
技术栈
Vite · React
网站类型
作品集
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-04-21
截图检查日期
2026-10-13

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-13

查看当时使用的来源资料

SHA-256: 695b7ab96addc5b5c5ef4d9e99b7ffa8cbd285b009d5e91a492f19e944da9928

2026-10-13T03:25:02.801Z

来源文件 / 仓库
# 🚀 Portfolio Website

> A modern, responsive portfolio website showcasing professional work and skills with elegant animations and interactive features.

## ✨ Features

- **🎨 Animated Grid Backgrounds**: Dynamic canvas-based grid animations that respond to user interaction
- **📱 Responsive Design**: Optimized for all device sizes with mobile-first approach
- **🌍 Internationalization**: Complete Turkish and English language support
- **🎯 Interactive Project Showcase**: Detailed project modals with technology stacks and live demos
- **📊 Animated Skill Visualization**: Dynamic progress bars with smooth count-up animations
- **⚡ Performance Optimized**: Lazy loading, error boundaries, and efficient rendering
- **🎭 Smooth Animations**: Powered by Framer Motion for seamless user experience
- **♿ Accessibility**: Full keyboard navigation and screen reader support
- **🔧 PWA Ready**: Service Worker, manifest.json, and offline capabilities
- **📈 Performance Monitoring**: Lighthouse score 92+ with optimized Core Web Vitals

## 🛠 Tech Stack

### Frontend Framework
- **React 19** - Latest React with concurrent features
- **TypeScript** - Type-safe development
- **Vite** - Fast build tool and development server

### Styling & UI
- **Tailwind CSS** - Utility-first CSS framework
- **Framer Motion** - Animation and gesture library
- **Lucide React** - Beautiful icon library

### Development Tools
- **ESLint** - Code linting and quality assurance
- **TypeScript ESLint** - TypeScript-specific linting rules

### Performance & Optimization
- **React Lazy Load Image** - Optimized image loading
- **Custom Hooks** - Reusable logic abstraction
- **Error Boundaries** - Graceful error handling
- **Code Splitting** - Bundle optimization with Vite

## 🚀 Quick Start

```bash
# Clone the repository
git clone https://github.com/MelihIlker/personal-website.git
cd personal-website

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build
```

## 📁 Project Structure

```
src/
├── components/          # React components
│   ├── ui/             # Reusable UI components
│   │   ├── SquaresBackground.tsx  # Canvas-based animated grid
│   │   ├── GradientText.tsx       # Gradient text effects
│   │   └── TextType.tsx           # Typewriter effect
│   ├── Hero.tsx        # Landing section
│   ├── Projects.tsx    # Project showcase
│   ├── Skills.tsx      # Skills visualization
│   ├── Experience.tsx  # Work experience
│   ├── Education.tsx   # Education background
│   ├── Contact.tsx     # Contact information
│   ├── Footer.tsx      # Footer component
│   ├── Navbar.tsx      # Navigation sidebar
│   ├── Accessibility.tsx # Accessibility features
│   ├── MicroInteractions.tsx # UI micro-interactions
│   ├── ErrorBoundary.tsx # Error handling
│   └── SkeletonLoader.tsx # Loading states
├── hooks/              # Custom React hooks
│   ├── useScrollAnimation.ts  # Scroll-triggered animations
│   ├── useLanguage.ts         # Internationalization
│   ├── useCountUp.ts          # Number counting animations
│   └── useAccessibility.ts    # Accessibility features
├── contexts/           # React contexts
│   └── LanguageContext.tsx    # Language state management
└── types/              # TypeScript type definitions
    └── react-lazy-load-image-component.d.ts
```

## 🎯 Key Components

### Interactive Elements
- **SquaresBackground**: Custom canvas-based animated grid system with smooth 60fps animations
- **TextType**: Typewriter effect component for dynamic text animation
- **ProjectModal**: Detailed project information with technology stacks and live demos
- **SkillProgress**: Animated progress bars with count-up effects
- **Footer**: Terminal-style footer with social links and contact information

### Custom Hooks
- **useScrollAnimation**: Handles scroll-triggered animations with Intersection Observer
- **useLanguage**: Manages internationalization state with localStorage persistence
- **useCountUp**: Creates smooth number counting animations
- **useAccessibility**: Keyboard navigation and accessibility features

## 🌍 Internationalization

The portfolio supports both Turkish and English with:
- Complete UI translation
- Language persistence in localStorage
- Dynamic language switching
- Context-based translation system

## 📱 Responsive Design

Optimized for all screen sizes:
- Mobile-first approach
- Flexible grid layouts
- Touch-friendly interactions
- Optimized typography scaling
- Mobile sidebar with overlay

## ⚡ Performance Features

- **Lazy Loading**: Images and components load on demand
- **Code Splitting**: Manual chunks for vendor, animations, and UI components
- **Error Boundaries**: Graceful error handling and recovery
- **Skeleton Loaders**: Improved perceived performance
- **Optimized Animations**: 60fps smooth canvas animations
- **Critical CSS**: Inline critical CSS for faster initial render
- **Font Preloading**: Google Fonts preloaded for better performance
- **Async CSS Loading**: Non-blocking CSS loading

## 🎨 Canvas API Implementation

The `SquaresBackground` component uses HTML5 Canvas for:
- **Dynamic Grid Generation**: Responsive grid that adapts to screen size
- **Smooth Animations**: 60fps animations with `requestAnimationFrame`
- **Performance Optimization**: 
  - `devicePixelRatio` support for retina displays
  - Optimized drawing with `lineWidth: 0.5` and `lineCap: 'round'`
  - Sub-pixel precision rendering
- **Animation Control**: Direction-based movement (up/down) with smooth transitions

## 🔧 PWA Features

- **Service Worker**: `sw.js` for offline capabilities and caching
- **Web App Manifest**: `manifest.json` with app metadata
- **Theme Color**: Dark theme support (`#1f2937`)
- **App Shortcuts**: Quick access to Projects and Contact sections
- **Installable**: Can be installed as a PWA on mobile devices

## 📈 Performance Metrics

- **Lighthouse Score**: 92+ (Performance, Accessibility, Best Practices, SEO)
- **Core Web Vitals**: Optimized LCP, FID, and CLS
- **Bundle Size**: Optimized with code splitting
- **First Contentful Paint**: < 1.5s
- **Largest Contentful Paint**: < 2.5s

## 🚀 Deployment

### Vercel Deployment
The project is configured for Vercel with:
- **vercel.json**: Cache headers and build configuration
- **Static Assets**: 1-year cache for optimal performance
- **Build Command**: `npm run build`
- **Output Directory**: `dist/`

```bash
# Deploy to Vercel
vercel --prod
```

### Other Platforms
- **Netlify**: Drag and drop `dist/` folder
- **GitHub Pages**: Use GitHub Actions
- **Any Static Host**: Upload built files

## 🛠 Development

### Available Scripts
```bash
npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint
```

### Environment Variables
No environment variables required for basic functionality.

## 📄 License

This project is licensed under the MIT License.

## 🌐 Live Demo

Visit the live website: [Click!](https://melihilker-portfolio.vercel.app)

---


Built with ❤️ using React, TypeScript, and Tailwind CSS
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。