Files
mengyaprofile/README.md
2025-12-13 21:35:46 +08:00

271 lines
5.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 萌芽个人主页
一个现代化的个人主页网站,采用前后端分离架构,支持 Docker 一键部署。
## 🚀 快速部署 (Docker)
### 一键启动
**Windows:**
```bash
docker-deploy.bat
```
**Linux/Mac:**
```bash
chmod +x docker-deploy.sh
./docker-deploy.sh
```
**或使用 Docker Compose:**
```bash
docker-compose up -d --build
```
**访问应用:**
- 主页: http://localhost:5000
- 管理员: http://localhost:5000/admin?token=shumengya520
📖 详细文档: [Docker 部署指南](DOCKER_README.md) | [快速开始](QUICKSTART.md)
---
## 项目简介
这是一个功能完整、设计精美的个人主页系统,展示个人信息、精选项目和联系方式。
### 特性亮点
- 🎨 **现代化设计**: 渐变色背景、流畅动画、精美卡片布局
- 📱 **响应式布局**: 完美适配桌面端和移动端
- 🔄 **前后端分离**: React + Python Flask 架构
- 🐳 **Docker 支持**: 一键部署,开箱即用
- 💾 **数据持久化**: 配置文件外部存储
-**快速灵活**: 通过 JSON 配置文件轻松管理内容
- 🎯 **三大模块**: 个人信息、精选项目、联系方式
- 🔐 **权限控制**: 管理员模式隐藏私密项目
## 项目结构
```
萌芽个人主页/
├── mengyaprofile-backend/ # 后端 Python Flask 项目
│ ├── app.py # Flask 应用主文件
│ ├── requirements.txt # Python 依赖
│ └── data/ # 数据配置文件
│ ├── profile.json # 个人信息
│ ├── projects.json # 项目列表
│ └── contacts.json # 联系方式
└── mengyaprofile-frontend/ # 前端 React 项目
├── public/ # 静态资源
├── src/ # 源代码
│ ├── App.js # 主应用
│ ├── App.css # 全局样式
│ └── components/ # 组件目录
│ ├── ProfileSection.js # 个人信息组件
│ ├── ProjectsSection.js # 项目展示组件
│ └── ContactsSection.js # 联系方式组件
└── package.json # 项目配置
```
## 快速开始
### 前置要求
- Python 3.7+
- Node.js 14+
- npm 或 yarn
### 1. 启动后端服务
```bash
# 进入后端目录
cd mengyaprofile-backend
# 安装依赖
pip install -r requirements.txt
# 运行服务
python app.py
```
后端服务将运行在 `http://localhost:5000`
### 2. 启动前端应用
```bash
# 进入前端目录
cd mengyaprofile-frontend
# 安装依赖
npm install
# 启动开发服务器
npm start
```
前端应用将运行在 `http://localhost:3000`
### 3. 访问应用
在浏览器中打开 `http://localhost:3000` 即可查看你的个人主页!
## 功能模块
### 1⃣ 个人信息模块
展示个人基本信息:
- ✨ 昵称
- 🖼️ 头像(支持动画效果)
- 📝 个人介绍
- 💼 技术定位Full-Stack / Backend / DevOps
- 💡 个人座右铭
**配置文件**: `mengyaprofile-backend/data/profile.json`
### 2⃣ 精选项目模块
以卡片形式展示项目:
- 📦 项目标题
- 📄 项目简介
- 🔗 项目链接
- 🏷️ 项目标签
- 🎯 自动获取网站图标favicon
**配置文件**: `mengyaprofile-backend/data/projects.json`
### 3⃣ 联系方式模块
展示多种联系方式:
- 💬 QQ
- 📧 邮箱
- 🐙 GitHub
- 📋 一键复制功能
- 🔗 直接跳转链接
**配置文件**: `mengyaprofile-backend/data/contacts.json`
## 自定义配置
### 修改个人信息
编辑 `mengyaprofile-backend/data/profile.json`:
```json
{
"nickname": "你的昵称",
"avatar": "头像URL",
"introduction": "个人介绍",
"position": "Full-Stack / Backend / DevOps",
"motto": "你的座右铭"
}
```
### 添加项目
编辑 `mengyaprofile-backend/data/projects.json`:
```json
{
"projects": [
{
"id": 1,
"title": "项目名称",
"description": "项目简介",
"link": "https://your-project.com",
"icon": "",
"tags": ["标签1", "标签2"]
}
]
}
```
### 更新联系方式
编辑 `mengyaprofile-backend/data/contacts.json`:
```json
{
"contacts": [
{
"type": "qq",
"label": "QQ",
"value": "你的QQ号",
"link": "tencent://message/?uin=你的QQ号",
"icon": "💬"
}
]
}
```
## 技术栈
### 前端
- React 19
- CSS3动画、渐变、响应式布局
- Fetch API
### 后端
- Python 3
- Flask 3.0
- Flask-CORS跨域支持
## API 接口
后端提供以下 RESTful API
- `GET /api/profile` - 获取个人信息
- `GET /api/projects` - 获取项目列表
- `GET /api/contacts` - 获取联系方式
- `GET /api/all` - 获取所有数据
## 部署建议
### 后端部署
推荐使用以下方式部署后端:
- Heroku
- AWS EC2
- 阿里云 ECS
- 使用 Gunicorn 作为生产服务器
### 前端部署
推荐使用以下方式部署前端:
- Vercel
- Netlify
- GitHub Pages
- Nginx 静态服务器
**注意**: 部署前需要修改前端 `src/App.js` 中的 API 地址为生产环境地址。
## 浏览器支持
- ✅ Chrome推荐
- ✅ Firefox
- ✅ Safari
- ✅ Edge
- ✅ 移动端浏览器
## 开发计划
- [ ] 添加博客模块
- [ ] 添加深色模式
- [ ] 添加多语言支持
- [ ] 添加后台管理系统
- [ ] 添加访问统计
- [ ] 添加留言板功能
## 许可证
MIT License
## 作者
萌芽
---
如有问题或建议,欢迎提 Issue