终端风格界面,包含 Canvas 动画网格背景与打字机文本效果
web-portfolio — Vite 作品集模板
作者 MelihIlker
基于 Vite、React 与 TypeScript 的终端风格个人作品集模板,使用 Tailwind CSS 构建,包含动画画布背景、项目展示、技能进度条与土耳其语/英语双语支持,并具备 PWA 能力。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
内置土耳其语与英语双语切换,语言状态持久化到 localStorage
项目展示支持详情弹窗,可呈现技术栈与在线演示链接
技能区块使用计数动画的进度条进行可视化
提供 Service Worker 与 manifest.json,具备 PWA 安装与离线能力
使用 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 等性能指标属于作者自述,未在本资料中独立验证。
适合你的项目吗?
适用场景
- 开发者或设计师搭建个人作品集网站,展示项目、技能与工作经历
- 需要中英之外双语(土耳其语/英语)切换的简历或作品集页面
- 希望以终端风格视觉呈现个人技术背景的静态站点
- 需要 PWA 安装与离线访问能力的个人网站
适合人群
- 具备 React 与 TypeScript 基础、希望快速搭建作品集的开发者
- 需要终端风格视觉与动画效果的个人网站需求
- 需要土耳其语与英语双语支持的求职者或自由职业者
- 计划部署到 Vercel 或其他静态托管平台的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆仓库后执行 npm install 安装依赖,使用 npm run dev 启动开发服务器
- 2
生产构建使用 npm run build,输出目录为 dist/,可用 npm run preview 预览
- 3
基础功能不需要环境变量;部署到 Vercel 时使用仓库内的 vercel.json 配置
- 4
代码为 MIT 许可,分发时需保留版权声明与许可声明;演示图片、字体、图标等第三方素材需单独核对许可
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/MelihIlker/web-portfolio/blob/main/LICENSEhttps://github.com/MelihIlker/web-portfolio/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
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看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

Resumify
Free, privacy-first resume builder — 6 ATS-friendly templates, full customization, JSON import/export. No sign…
Vite · 作品集

showlit
✨ Showlit - A modern and clean template for creating a personal website
Vite · 作品集

folium
Professional developer portfolio boilerplate (React • TypeScript • Tailwind • Vite) with simple content custom…
Vite · 作品集

kurizu-discord
A Discord themed website built using React & Vite
Vite · 作品集

about-me-personal-portfolio-website-template
Simple Personal Website Template, built with bootstrap and vite js project.
Vite · 作品集

HackFolio
A high-performance, SEO-optimized hacker-themed portfolio website tailored for for ethical hackers, penetratio…
Vite · 作品集
