单页作品集结构,包含导航、Hero、关于、经历、技能、项目、联系表单和页脚组件
portfolio-app — Next.js 作品集模板
作者 aakif123
基于 Next.js 与 TypeScript 的个人作品集网站模板,采用深色主题,包含导航、Hero、关于、经历、技能、项目、联系表单与页脚等区块,使用 Tailwind CSS 与自定义 CSS 动画,联系表单通过 Web3Forms 提交。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
深色主题搭配青色与蓝色渐变强调色,使用 Poppins 字体
自定义 CSS 动画:淡入、上移与 Hero 区背景 blob 位移
技能区以进度条展示熟练度,经历卡片悬停展开职责与技能详情
联系表单通过 Web3Forms 提交,带表单校验与加载、成功、失败状态
作品集数据集中在 src/lib/data.ts,便于统一替换为个人内容
模板详细介绍
这是一个用于搭建个人作品集页面的 Next.js 模板,仓库为 aakif123/portfolio-app,采用 MIT 许可。页面结构按单页分区组织:固定导航栏、全屏 Hero、关于、经历、技能、项目、联系表单与页脚,各区块由 src/components 下的独立组件实现,作品集数据集中在 src/lib/data.ts。
视觉上使用深色背景搭配青色/蓝色渐变强调色,字体为 Google Fonts 的 Poppins,动画包括自定义 CSS 的淡入、上移和背景 blob 位移,以及技能进度条、经历卡片悬停展开等交互。联系表单接入 Web3Forms,提交状态包含加载、成功与失败提示。
使用前需注意:模板内容为示例数据,包括经历、技能百分比、项目条目和 Unsplash 占位图片,需要替换为本人信息;联系表单的 Web3Forms access key 直接写在代码中,应替换为自己的 key;个人照片需放置为 public/profile.jpg。README 提到 Framer Motion 与 EmailJS 已安装但使用有限或未启用,实际生效的联系表单方案是 Web3Forms。仓库未提供环境变量配置,部署说明以 Vercel 为例。
适合你的项目吗?
适用场景
- 搭建个人开发者或设计师的单页作品集网站
- 作为 Next.js App Router 与 Tailwind CSS 的练习或改造起点
- 需要带联系表单的作品集页面,并希望使用第三方表单服务接收邮件
适合人群
- 熟悉 Next.js 与 TypeScript,能自行替换组件内示例数据的开发者
- 希望快速获得深色风格作品集页面结构,再按需调整样式的人
- 接受使用 Web3Forms 等外部表单服务处理联系表单提交的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆仓库后执行 npm install,再用 npm run dev 启动本地开发服务器(默认 http://localhost:3000)
- 2
将个人照片命名为 profile.jpg 放入 public 目录,README 建议尺寸为 800x800 的方形图片
- 3
替换 src/lib/data.ts 中的经历、技能与项目数据,以及项目区使用的 Unsplash 占位图片
- 4
联系表单的 Web3Forms access key 写在代码中,需替换为自己的 key,并确认接收邮箱
- 5
README 说明当前无需环境变量;若改用 EmailJS,需要自行配置其 Service ID、Template ID 与 Public Key
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 联系表单依赖第三方服务 Web3Forms,代码中硬编码了作者的 access key 与接收邮箱;使用者需替换为自己的 key 和邮箱,否则表单提交会发送到作者邮箱。
- 若改用 EmailJS 方案,需要注册 EmailJS 账号并自行获取 Service ID、Template ID 与 Public Key 等凭据。
- 项目区图片使用 Unsplash 占位图,需自行替换;使用这些图片可能涉及第三方素材许可问题。
- 致谢部分说明项目占位图片来自 Unsplash,属于第三方素材,其许可与项目代码许可相互独立。
- 使用前需自行准备并放置个人照片为 public/profile.jpg,模板本身不包含该图片。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
- **Access Key**: `6ef92cff-a83c-43fa-833b-9b387ba60caf` - **Email**: [email protected] - **Features**: Unlimited submissions, no signup required
README 原文
### Alternative: EmailJS (Installed but not active) To switch to EmailJS: 1. Sign up at [emailjs.com](https://www.emailjs.com) 2. Get Service ID, Template ID, Public Key
README 原文
- Project image (Unsplash placeholders)
README 原文
- Unsplash for project placeholder images
README 原文
https://github.com/aakif123/portfolio-app/blob/master/LICENSEhttps://github.com/aakif123/portfolio-app/blob/master/README.md- Place your photo as `profile.jpg` in the `public/` folder
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 80 / 100
- 技术栈
- Next.js · React
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-05-01
- 截图检查日期
- 2026-10-13
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-13
查看当时使用的来源资料
SHA-256: 9f7d6c7b9741d87f22eb572a0b265ede5f640977522ccc302abed8995fe7472a
2026-10-13T06:55:37.645Z
来源文件 / 仓库# Aakif Khan - Portfolio Website A modern, responsive portfolio website built with Next.js 14, TypeScript, and Tailwind CSS, featuring dark theme, smooth animations, and a professional contact form. 🌐 **Live Demo**: [aakif-khan-portfolio.vercel.app](https://aakif-khan-portfolio.vercel.app/) 📧 **Email**: [email protected] 💼 **LinkedIn**: [linkedin.com/in/aakifkhan1299](https://linkedin.com/in/aakifkhan1299) 👨💻 **GitHub**: [github.com/aakifkhan1299](https://github.com/aakifkhan1299) --- ## 🚀 Technologies Used ### Frontend Framework - **Next.js 14.2.35** - React framework with App Router - **React 18.3.0** - UI library - **TypeScript 5.4.0** - Type safety ### Styling & UI - **Tailwind CSS 3.4.0** - Utility-first CSS framework - **Poppins Font** - Google Fonts integration - **Custom CSS Animations** - Fade-in, slide-up, blob animations ### Additional Libraries - **Framer Motion 11.0.0** - Animation library (installed, minimal usage) - **EmailJS** - Email service integration (installed) - **Web3Forms** - Contact form backend (active implementation) ### Development Tools - **ESLint** - Code linting - **PostCSS** - CSS processing - **Git** - Version control - **Vercel** - Deployment platform --- ## 📋 Features ### Core Features ✅ **Fully Responsive Design** - Mobile-first approach, works on all devices ✅ **Dark Theme** - Black gradients with cyan/blue accents ✅ **Smooth Animations** - Custom CSS and Framer Motion animations ✅ **SEO Optimized** - Meta tags, semantic HTML ✅ **Fast Performance** - Next.js optimization, lazy loading ✅ **Contact Form** - Web3Forms integration with email notifications ✅ **Professional Typography** - Poppins font family ### Interactive Elements - Smooth scroll navigation - Hover effects on all interactive elements - Animated background blobs in Hero section - Expandable experience cards (hover to reveal details) - Progress bars for skills - Glowing border effects on profile image - Mobile-friendly hamburger menu --- ## 📄 Section Breakdown ### 1. **Navbar** (`src/components/Navbar.tsx`) **Technologies**: React, TypeScript, Smooth Scrolling **Features**: - Fixed top navigation with blur effect on scroll - Smooth scroll to sections - Mobile hamburger menu with animations - Clickable logo to return to hero section - Responsive design (desktop menu + mobile menu) - Gradient text for brand name - Border animation on scroll **Sections**: Home, About, Experience, Skills, Projects, Contact --- ### 2. **Hero Section** (`src/components/Hero.tsx`) **Technologies**: React, TypeScript, Custom CSS Animations **Features**: - Full-screen landing section - Animated background with 3 moving blob gradients - Gradient text for name (cyan to blue) - Two CTA buttons: - "View My Work" - Scrolls to Projects - "Contact Me" - Scrolls to Contact form - Centered layout with professional typography - Custom blob animation (7s infinite loop) **Animations**: - Fade-in animation for heading - Slide-up animation for text and buttons - Moving blob background (cyan, blue, purple) --- ### 3. **About Section** (`src/components/About.tsx`) **Technologies**: React, TypeScript, Next.js Image Component **Features**: - Profile picture with animated glowing border - Two-column layout (image + content) - Professional bio text - Three key statistics: - 3.5+ Years Experience - 30% Performance Boost - 10K+ Daily Users - Gradient card background - Pulsing glow effect on profile image **Profile Image**: - Location: `public/profile.jpg` - Circular frame with border - Cyan-to-blue animated glow - Hover effect increases glow intensity - Next.js Image component for optimization --- ### 4. **Experience Section** (`src/components/Experience.tsx`) **Technologies**: React, TypeScript, Framer Motion (minimal), CSS Transitions **Features**: - Two-column grid layout (responsive to single column on mobile) - Expandable cards on hover - Each card shows: - **Initial State**: Role, Company, Duration, Limited skills (first 5) - **Hover State**: Full responsibilities list, All skills - Smooth height and opacity transitions - Border color change on hover (gray to cyan) - Scale effect on hover (1.02x) - "Hover to see details" indicator **Data Structure** (`src/lib/data.ts`): ```typescript { title: string company: string duration: string responsibilities: string[] technologies: string[] } ``` **Experience Cards**: 1. **Software Developer** - Cognizant (Oct 2022 - Present) 2. **Software Engineer Intern** - Cognizant (Mar 2022 - Sep 2022) --- ### 5. **Skills Section** (`src/components/Skills.tsx`) **Technologies**: React, TypeScript, CSS Grid **Features**: - Three categories: Frontend, Backend, Tools - Animated progress bars showing proficiency levels - 18 skills total: - **Frontend**: JavaScript (95%), TypeScript (92%), React.js (95%), Angular (90%), HTML5 (98%), CSS3 (95%), Context API (90%), React Hooks (93%) - **Backend**: Java (85%), Spring Boot (83%), Microservices (80%), REST APIs (90%), MySQL (82%), Oracle (78%) - **Tools**: Git (88%), Agile/SDLC (90%), AWS Basics (70%), CI/CD (75%) - Gradient backgrounds for each category - Smooth animation on scroll into view **Progress Bar Animation**: - Fills from left to right based on skill level - Cyan-to-blue gradient fill - Percentage displayed on right side --- ### 6. **Projects Section** (`src/components/Projects.tsx`) **Technologies**: React, TypeScript, Next.js Image Component **Features**: - Grid layout (3 columns on desktop, responsive) - 6 featured projects with: - Project image (Unsplash placeholders) - Title and description - Technology tags - External links (GitHub, Live Demo) - Hover effects: - Scale transform - Border color change (gray to cyan) - Shadow glow increase - Card-based design with gradients **Projects Listed**: 1. Enterprise Airline Reservation System 2. Enterprise React Dashboard 3. Angular Component Library 4. Microservices Integration Platform 5. Performance Optimization Suite 6. Responsive E-Commerce Platform --- ### 7. **Contact Section** (`src/components/Contact.tsx`) **Technologies**: React, TypeScript, Web3Forms API **Features**: - Professional contact form with 3 fields: - Name (required) - Email (required, email validation) - Message (required, textarea) - Form validation - Loading state during submission - Success/Error messages - Web3Forms integration (unlimited free submissions) - Gradient button with hover effects - Glass-morphism card design **Web3Forms Configuration**: - Access Key: `6ef92cff-a83c-43fa-833b-9b387ba60caf` - Email destination: [email protected] - API endpoint: `https://api.web3forms.com/submit` **Form States**: - Idle (ready to submit) - Loading (animated "Sending...") - Success (green notification) - Error (red notification) --- ### 8. **Footer** (`src/components/Footer.tsx`) **Technologies**: React, TypeScript, SVG Icons **Features**: - Three-column layout: - **Column 1**: Brand name, tagline, location - **Column 2**: Quick links to sections - **Column 3**: Social media icons - Real SVG logos for: - GitHub - LinkedIn - Gmail - Phone - Hover effects on icons (gray to cyan) - Copyright notice with current year - Built with technology mention - Dark background with gradient **Social Links**: - GitHub: [github.com/aakifkhan1299](https://github.com/aakifkhan1299) - LinkedIn: [linkedin.com/in/aakifkhan1299](https://linkedin.com/in/aakifkhan1299) - Email: [email protected] - Phone: +91 9596 318 292 --- ## 🎨 Design System ### Color Palette - **Primary**: Cyan (#06B6D4) - **Secondary**: Blue (#3B82F6) - **Accent**: Purple (#9333EA) - **Background**: Black (#000000) to Gray (#1A1A1A) gradients - **Text**: White (#FFFFFF), Gray (#E5E5E5), Gray-300 (#D1D5DB) - **Borders**: Gray-700 (#374151), Gray-800 (#1F2937) ### Typography - **Font Family**: Poppins (Google Fonts) - **Weights**: 300 (Light), 400 (Regular), 500 (Medium), 600 (Semi-Bold), 700 (Bold), 800 (Extra-Bold) - **Headings**: Bold with gradient text effect - **Body**: Regular weight, gray color ### Spacing - **Section Padding**: `py-10` (reduced from py-20) - **Container**: Max-width 7xl (1280px) - **Grid Gaps**: 4-6 units (1rem - 1.5rem) ### Animations ```css /* Fade In */ @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } /* Slide Up */ @keyframes slide-up { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } /* Blob Movement */ @keyframes blob { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(30px, -50px) scale(1.1); } 66% { transform: translate(-20px, 20px) scale(0.9); } } ``` --- ## 📦 Project Structure ``` portfolio-app/ ├── public/ │ ├── profile.jpg # Your profile picture │ └── assets/ # Other static assets ├── src/ │ ├── app/ │ │ ├── globals.css # Global styles, Tailwind, Poppins font │ │ ├── layout.tsx # Root layout, metadata │ │ └── page.tsx # Main page, imports all components │ ├── components/ │ │ ├── Navbar.tsx # Navigation with smooth scroll │ │ ├── Hero.tsx # Landing section with animated blobs │ │ ├── About.tsx # Bio with profile picture │ │ ├── Experience.tsx # Work history with expandable cards │ │ ├── Skills.tsx # Tech skills with progress bars │ │ ├── Projects.tsx # Portfolio projects grid │ │ ├── Contact.tsx # Contact form with Web3Forms │ │ └── Footer.tsx # Footer with social links │ ├── lib/ │ │ └── data.ts # All portfolio data (projects, skills, experience) │ ├── styles/ │ │ └── components.css # Component-specific styles │ └── types/ │ └── index.ts # TypeScript type definitions ├── .gitignore # Git ignore file (includes node_modules) ├── LICENSE # MIT License ├── next.config.js # Next.js configuration ├── package.json # Dependencies and scripts ├── postcss.config.js # PostCSS configuration ├── tailwind.config.js # Tailwind CSS configuration ├── tsconfig.json # TypeScript configuration └── README.md # This file ``` --- ## 🛠️ Setup Instructions ### Prerequisites - Node.js 18+ installed - npm or yarn package manager - Git ### Installation 1. **Clone the repository** ```bash git clone https://github.com/aakif123/portfolio-app.git cd portfolio-app ``` 2. **Install dependencies** ```bash npm install ``` 3. **Add your profile picture** - Place your photo as `profile.jpg` in the `public/` folder - Recommended size: 800x800px (square) - Format: JPG or PNG 4. **Run development server** ```bash npm run dev ``` 5. **Open in browser** ``` http://localhost:3000 ``` ### Build for Production ```bash npm run build npm start ``` --- ## 🚀 Deployment ### Vercel Deployment (Recommended) 1. **Push to GitHub** ```bash git add . git commit -m "Initial commit" git push origin master ``` 2. **Deploy on Vercel** - Go to [vercel.com](https://vercel.com) - Import your GitHub repository - Vercel auto-detects Next.js settings - Click "Deploy" 3. **Automatic Updates** - Every push to master triggers auto-deployment - Preview deployments for pull requests ### Environment Variables No environment variables needed for current setup. Web3Forms access key is embedded in code. --- ## 📧 Contact Form Setup ### Current Setup: Web3Forms (Active) - **Access Key**: `6ef92cff-a83c-43fa-833b-9b387ba60caf` - **Email**: [email protected] - **Features**: Unlimited submissions, no signup required - **API**: `https://api.web3forms.com/submit` ### Alternative: EmailJS (Installed but not active) To switch to EmailJS: 1. Sign up at [emailjs.com](https://www.emailjs.com) 2. Get Service ID, Template ID, Public Key 3. Uncomment EmailJS code in `Contact.tsx` 4. Replace placeholder IDs with your actual IDs --- ## 🎯 Performance Optimizations - ✅ Next.js App Router for optimal performance - ✅ Next.js Image component for automatic image optimization - ✅ Lazy loading for images - ✅ Minimal JavaScript bundle - ✅ Tailwind CSS purging unused styles - ✅ Fast Font loading (Google Fonts) - ✅ Smooth scrolling instead of page navigation --- ## 📝 Customization Guide ### Update Personal Information Edit `src/lib/data.ts`: - Projects array - Skills array - Experiences array ### Change Colors Edit `tailwind.config.js`: ```javascript colors: { primary: '#06B6D4', // Cyan accent: '#9333EA', // Purple } ``` ### Modify Sections Each section is a standalone component in `src/components/` - Import/export from `src/app/page.tsx` ### Update Contact Email Change in two places: 1. `src/components/Contact.tsx` - Web3Forms setup 2. `src/components/Footer.tsx` - Email link --- ## 📄 License MIT License - See [LICENSE](LICENSE) file for details Copyright (c) 2026 Aakif Khan --- ## 🤝 Contact & Support **Aakif Khan** - 📧 Email: [email protected] - 💼 LinkedIn: [linkedin.com/in/aakifkhan1299](https://linkedin.com/in/aakifkhan1299) - 👨💻 GitHub: [github.com/aakifkhan1299](https://github.com/aakifkhan1299) - 📱 Phone: +91 9596 318 292 - 📍 Location: Bengaluru, Karnataka, India --- ## 🙏 Acknowledgments - Next.js Team for the amazing framework - Tailwind CSS for the utility-first CSS framework - Web3Forms for the contact form service - Unsplash for project placeholder images - Google Fonts for Poppins typography --- **Built with ❤️ using Next.js, TypeScript, and Tailwind CSS** Contributions are welcome! Please feel free to submit a pull request or open an issue for any suggestions or improvements. ## License This project is licensed under the MIT License. See the LICENSE file for details.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

react-resume-template
A personal resume website template built with React.js, Typescript, Next.js, and styled with Tailwind css
Next.js · 作品集

nxt-lnk
Custom bio links for creatives who love coding. A perfect custom alternative for linktree, bio and other short…
Next.js · 作品集

sylph
A minimal portfolio template.
Next.js · 作品集

sleek-portfolio
sleek-portfolio 是一个面向开发者个人品牌展示的现代作品集模板,基于 Next.js 15、TypeScript、Tailwind CSS 和 Shadcn UI 构建。
Next.js · 作品集

research-website-template
React + Next.js template for research websites (for PhD students, researchers, etc)
Next.js · 作品集

shadcn-portfolio
shadcn-portfolio 是一个面向开发者的作品集模板,技术栈为 Next.js 15、shadcn/ui、Tailwind CSS 和 Framer Motion。
Next.js · 作品集
