Next.jsReact作品集

nextjs-animated-portfolio-template — Next.js 作品集模板

作者 Muhamed-Yasin

基于 Next.js App Router、TypeScript、Tailwind CSS 与 Framer Motion 的开发者作品集模板,含由 EmailJS 与 Firebase Firestore 支持的可用联系表单,个人数据集中在单个数据文件中。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

使用 Next.js App Router 与 TypeScript 构建

02

使用 Tailwind CSS 进行样式编写

03

通过 Framer Motion 实现页面加载与滚动动画

04

联系表单使用 EmailJS 发送邮件,并将提交内容保存到 Firebase Firestore

05

所有作品集数据集中在 /data/portfolioData.ts 单个文件中,便于替换

模板详细介绍

该模板是一个使用 Next.js App Router 与 TypeScript 构建的开发者作品集,样式采用 Tailwind CSS,页面加载与滚动动画由 Framer Motion 实现。README 说明联系表单可发送邮件到指定邮箱(EmailJS),并将提交内容保存到 Firebase Firestore 数据库。所有作品集数据(项目、工作经历、理念、技能等)集中在 /data/portfolioData.ts 文件中,替换占位内容即可完成个性化。README 未提供页面数量、路由结构、SEO 配置、测试、性能或生产部署方面的说明。

Next.js作品集

适合你的项目吗?

适用场景

  • 搭建个人开发者作品集网站
  • 需要联系表单同时发送邮件并保存提交记录的场景
  • 希望集中管理项目、经历、技能等展示数据的作品集

适合人群

  • 熟悉 Next.js、TypeScript 与 Tailwind CSS 的开发者
  • 愿意配置 Firebase 与 EmailJS 账号以启用联系表单的用户
  • 需要以单个数据文件维护作品集内容的个人

上手与定制指南

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

  1. 1

    需要 Node.js 18.17 或更高版本

  2. 2

    克隆仓库后运行 npm install 安装依赖

  3. 3

    将 .env.example 重命名为 .env.local,并填入 Firebase 与 EmailJS 的密钥

  4. 4

    Firebase 需创建项目、Web 应用与 Firestore 数据库(README 建议以生产模式启动)

  5. 5

    EmailJS 需创建账号、连接邮件服务并创建邮件模板,获取 Service ID、Template ID 与 Public Key

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • README 提及 Firebase 集成;启用相关动态功能前需自行配置,并核对 Firebase 的额度与收费。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 联系表单功能需要配置 Firebase 与 EmailJS 的 API 密钥才能正常工作。
  • 使用联系表单需在 Firebase 控制台创建项目并获取配置信息。
  • 使用联系表单需在 EmailJS 注册账号(README 建议免费账号)并连接邮件服务。
  • Firebase Firestore 数据库需按 README 建议以生产模式创建。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

This project requires API keys from Firebase and EmailJS to function correctly.

README 原文

1. Go to the [Firebase Console](https://console.firebase.google.com/) and create a new project.

README 原文

1. Go to [EmailJS.com](https://www.emailjs.com/) and create a free account.

README 原文

4. Go to **Firestore Database**, create a database, and start in **production mode**.

README 原文
https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template/blob/main/LICENSEhttps://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料一般 · 74 / 100
技术栈
Next.js · React
网站类型
作品集
这个分数如何计算

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

这个项目需要核对什么

记录的仓库更新时间
2025-10-02
截图检查日期
2026-10-14

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: 4729c9c9849464dda3d228047f0024b1e79f04a15c8b4be441a0c954305de962

2026-10-14T12:06:56.223Z

来源文件 / 仓库
# Animated Next.js Developer Portfolio Template

A modern, animated, and easily customizable developer portfolio built with Next.js, Tailwind CSS, and Framer Motion. Includes a functional contact form powered by EmailJS and Firebase (Firestore).

![Portfolio Screenshot](./public/images/screenshot.png) 
*You should replace this with a screenshot of your own finished portfolio!*

**View the Live Demo:** [https://your-live-demo-url.com](https://your-live-demo-url.com)

---

## ✨ Features

* **Modern Tech Stack:** Built with the latest **Next.js 14** (App Router) & **TypeScript**.
* **Styled with Tailwind CSS:** A utility-first CSS framework for rapid, consistent styling.
* **Functional Contact Form:**
    * Sends emails directly to your inbox using **EmailJS**.
    * Saves form submissions to a **Firebase Firestore** database.
* **Smooth Animations:** Engaging user experience with page-load and on-scroll animations powered by **Framer Motion**.
* **Easy to Customize:** All portfolio data (projects, experience, etc.) is managed in a single, central file. No need to dig through components.
* **Responsive Design:** Looks and works great on all devices, from mobile phones to desktops.

## 🛠️ Tech Stack

* [Next.js](https://nextjs.org/) – React Framework
* [TypeScript](https://www.typescriptlang.org/) – Strongly Typed JavaScript
* [Tailwind CSS](https://tailwindcss.com/) – CSS Framework
* [Framer Motion](https://www.framer.com/motion/) – Animation Library
* [Firebase (Firestore)](https://firebase.google.com/) – Database for Contact Form
* [EmailJS](https://www.emailjs.com/) – Email Service for Contact Form

## 🚀 Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

### 1. Prerequisites

Make sure you have Node.js (version 18.17 or later) installed on your machine.

### 2. Clone the Repository

```bash
git clone [https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template.git](https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template.git)
cd nextjs-animated-portfolio-template
````

### 3\. Install Dependencies

```bash
npm install
```

### 4\. Set Up Environment Variables

This project requires API keys from Firebase and EmailJS to function correctly.

First, rename the `.env.example` file to `.env.local`:

```bash
mv .env.example .env.local
```

Now, open `.env.local` and add your keys.

#### Firebase Setup:

1.  Go to the [Firebase Console](https://console.firebase.google.com/) and create a new project.
2.  Go to **Project settings** \> **General** and create a new web app (`</>`).
3.  Copy the `firebaseConfig` object values into the `.env.local` file.
4.  Go to **Firestore Database**, create a database, and start in **production mode**.

#### EmailJS Setup:

1.  Go to [EmailJS.com](https://www.emailjs.com/) and create a free account.
2.  Connect your email service (e.g., Gmail).
3.  Create an email template and note its **Template ID**.
4.  Find your **Service ID** and **Public Key** in your account settings.

<!-- end list -->

```
# .env.local

# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY="YOUR_API_KEY"
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN="YOUR_AUTH_DOMAIN"
NEXT_PUBLIC_FIREBASE_PROJECT_ID="YOUR_PROJECT_ID"
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET="YOUR_STORAGE_BUCKET"
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="YOUR_SENDER_ID"
NEXT_PUBLIC_FIREBASE_APP_ID="YOUR_APP_ID"

# EmailJS Configuration
NEXT_PUBLIC_EMAILJS_SERVICE_ID="YOUR_SERVICE_ID"
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID="YOUR_TEMPLATE_ID"
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY="YOUR_PUBLIC_KEY"
```

### 5\. Run the Development Server

```bash
npm run dev
```

Open [http://localhost:3000](https://www.google.com/search?q=http://localhost:3000) with your browser to see the result.

## 🎨 Making It Your Own

All personal data—projects, work experience, principles, skills, etc.—is located in the `/data/portfolioData.ts` file. Open this file and replace the placeholder content with your own information to personalize the portfolio.

## 📜 License

This project is licensed under the MIT License. See the [LICENSE](https://www.google.com/search?q=./LICENSE) file for details.

```
```
反馈内容错误

看看同类模板

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