一个功能完整的企业级全栈应用,展示现代 Web 开发最佳实践。包含用户认证、博客系统、相册管理、日记功能等完整业务模块。
🎯 简历技术亮点:
- ✅ 完整的前后端分离架构
- ✅ RESTful API 设计与实现
- ✅ 数据库设计与优化
- ✅ Docker 容器化部署
- ✅ CI/CD 自动化流程
- ✅ 安全最佳实践
- ✅ TypeScript 全栈类型安全
- Next.js 14 - React 全栈框架
- TypeScript - 类型安全
- Tailwind CSS - 样式框架
- Zustand - 状态管理
- React Hook Form + Zod - 表单验证
- Node.js + Express - API 服务器
- TypeScript - 类型安全
- PostgreSQL - 关系型数据库
- Redis - 缓存
- JWT - 身份认证
- Zod - 数据验证
- Docker + Docker Compose - 容器化部署
- GitHub Actions - CI/CD
- Vercel - 前端部署(可选)
- 🔐 用户认证系统(注册/登录/JWT)
- 📝 博客系统(Markdown 编辑、标签、评论)
- 📷 相册管理(上传、分���、展示)
- 📔 日记系统(私密日记、心情记录)
- 🎮 游戏中心
- 💬 AI 聊天
- 📅 课程表
- 实时通知
- 数据统计面板
- 搜索功能
- 社交分享
- 移动端适配
- Node.js 20+
- Docker & Docker Compose
- PostgreSQL 16+ (如果不用 Docker)
- Redis 7+ (如果不用 Docker)
git clone https://github.com/USTCCB/USTCCB.GitHub.io.git
cd USTCCB.GitHub.io# 复制环境变量
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# 修改 backend/.env 中的敏感信息
# JWT_SECRET=你的密钥
# DB_PASSWORD=你的数据库密码
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f访问:
cd backend
# 安装依赖
npm install
# 复制环境变量
cp .env.example .env
# 创建数据库
createdb personal_platform
# 初始化数据库
psql -d personal_platform -f src/db/schema.sql
# 启动开发服务器
npm run devcd frontend
# 安装依赖
npm install
# 复制环境变量
cp .env.example .env
# 启动开发服务器
npm run devpersonal-platform-fullstack/
├── backend/ # 后端 API
│ ├── src/
│ │ ├── main.ts # 入口文件
│ │ ├── db/ # 数据库
│ │ │ ├── index.ts # 连接池
│ │ │ └── schema.sql # 数据库表结构
│ │ ├── routes/ # 路由
│ │ │ ├── auth.ts # 认证路由
│ │ │ ├── blog.ts # 博客路由
│ │ │ ├── album.ts # 相册路由
│ │ │ └── diary.ts # 日记路由
│ │ └── middleware/ # 中间件
│ │ └── errorHandler.ts
│ ├── Dockerfile
│ ├── package.json
│ └── tsconfig.json
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── app/ # Next.js 页面
│ │ ├── components/ # React 组件
│ │ ├── store/ # Zustand 状态管理
│ │ └── lib/ # 工具函数
│ ├── Dockerfile
│ ├── package.json
│ └── next.config.js
├── docker-compose.yml # Docker 编排
└── README.md # 项目说明
NODE_ENV=development
DB_HOST=localhost
DB_PORT=5432
DB_NAME=personal_platform
DB_USER=postgres
DB_PASSWORD=your_password
REDIS_HOST=localhost
REDIS_PORT=6379
JWT_SECRET=your-super-secret-key
JWT_EXPIRES_IN=7d
CORS_ORIGIN=http://localhost:3000
PORT=3001NEXT_PUBLIC_API_URL=http://localhost:3001# 后端测试
cd backend
npm test
# 前端测试
cd frontend
npm test
# E2E 测试
cd frontend
npm run test:e2e主要表结构:
users- 用户表blog_posts- 博客文章blog_tags- 博客标签comments- 评论albums- 相册photos- 照片diaries- 日记
# 安装 Vercel CLI
npm i -g vercel
# 部署前端
cd frontend
vercel- 在 Railway 创建项目
- 添加 PostgreSQL 和 Redis 服务
- 连接 GitHub 仓库
- 配置环境变量
- 自动部署
# 构建镜像
docker-compose build
# 启动服务
docker-compose up -d
# 查看状态
docker-compose psPOST /api/auth/register - 用户注册
POST /api/auth/login - 用户登录
GET /api/auth/me - 获取当前用户
GET /api/blog - 获取文章列表
POST /api/blog - 创建文章
GET /api/blog/:id - 获取文章详情
PUT /api/blog/:id - 更新文章
DELETE /api/blog/:id - 删除文章
欢迎提交 Issue 和 Pull Request!
MIT License
USTCCB
- GitHub: @USTCCB
- 个人主页: https://ustccb.github.io
如果这个项目对你有帮助,请给个 Star ⭐️
💼 简历展示要点:
✅ 全栈开发能力 - Next.js + Node.js + PostgreSQL + Redis ✅ 架构设计能力 - 前后端分离、RESTful API、数据库设计 ✅ 工程化能力 - Docker 容器化、CI/CD 自动化、TypeScript 类型安全 ✅ 安全意识 - JWT 认证、密码加密、SQL 注入防护、XSS 防护、限流 ✅ 代码质量 - ESLint、Prettier、单元测试、E2E 测试 ✅ 部署运维 - Docker Compose、GitHub Actions、云平台部署