SoleVault 是一个现代化的球鞋资产管理系统,专为球鞋收藏家和投资者设计。系统提供完整的库存管理、收藏夹管理、数据统计分析和社区展示功能,帮助用户高效管理球鞋资产。
- 🎯 全生命周期管理 - 从购买到出售的完整追踪
- 📊 数据可视化 - 资产统计、品牌分布、价值分析
- 👥 社区分享 - 公开收藏展示,发现同好
- 🌍 多语言支持 - 中文/英文无缝切换
- 🔐 安全认证 - JWT 身份验证,数据安全有保障
- 🚀 现代化技术栈 - React 19 + Node.js + PostgreSQL/openGauss
- 🐳 容器化部署 - Docker 一键启动,开箱即用
| 技术 | 版本 | 用途 |
|---|---|---|
| React | 19.2 | UI 框架 |
| Vite | 7.2 | 构建工具 |
| Tailwind CSS | 3.4 | 样式框架 |
| React Router | 7.0 | 路由管理 |
| i18next | 25.6 | 国际化 |
| Recharts | 2.13 | 数据可视化 |
| 技术 | 版本 | 用途 |
|---|---|---|
| Node.js | 18+ | 运行时环境 |
| Express | 4.18 | Web 框架 |
| PostgreSQL | 14 | 主数据库 |
| openGauss | 5.0 | 兼容数据库 |
| JWT | 9.0 | 身份认证 |
| Joi | 18.0 | 数据验证 |
- Docker - 容器化部署
- Cloudflare Tunnel - 公网访问
- Git - 版本控制
- Node.js >= 18.0.0
- npm >= 9.0.0
- Docker Desktop >= 20.10
- Git >= 2.30
git clone https://github.com/calm-233/Database_Project.git
cd Database_Project# 使用 PostgreSQL
./start_online.sh
# 或使用 openGauss
./start_online_opengauss.sh# 安装后端依赖
cd backend
npm install
# 安装前端依赖
cd ../solevault-frontend
npm install创建 backend/.env 文件:
DB_HOST=localhost
DB_PORT=5432
DB_NAME=sneaker_db
DB_USER=gaussdb
DB_PASSWORD=openGauss@123
JWT_SECRET=your-secret-key-here启动后端:
cd backend
npm start启动前端(新终端):
cd solevault-frontend
npm run dev- 🌐 前端应用: http://localhost:5173
- 🔌 后端 API: http://localhost:3000
- 📚 API 文档: 查看 API文档.md
Database_Project/
├── 📂 backend/ # 后端服务
│ ├── 📂 database/ # PostgreSQL SQL 脚本
│ │ ├── schema.sql # 数据库架构
│ │ ├── views.sql # 视图定义
│ │ └── triggers.sql # 触发器
│ ├── 📂 database_opengauss/ # openGauss 专用 SQL
│ ├── 📂 routes/ # API 路由
│ │ ├── auth.js # 认证路由
│ │ ├── inventory.js # 库存管理
│ │ ├── collections.js # 收藏夹管理
│ │ └── ...
│ ├── 📂 middleware/ # 中间件
│ │ ├── auth.js # JWT 验证
│ │ └── requireAdmin.js # 管理员权限
│ ├── 📂 validators/ # 数据验证
│ └── index.js # 入口文件
│
├── 📂 solevault-frontend/ # 用户前端
│ ├── 📂 src/
│ │ ├── 📂 pages/ # 页面组件
│ │ ├── 📂 components/ # 通用组件
│ │ ├── 📂 services/ # API 服务
│ │ └── 📂 i18n/ # 国际化配置
│ └── package.json
│
├── 📂 solevault-admin-frontend/ # 管理员前端
│ └── ...
│
├── 📂 postman/ # API 测试集合
│ ├── SoleVault.postman_collection.json
│ └── SoleVault.postman_environment.json
│
├── 📂 ops/ # 运维脚本
│ ├── backup_database.sh # 数据库备份
│ └── ...
│
├── 📄 start_online.sh # PostgreSQL 启动脚本
├── 📄 start_online_opengauss.sh # openGauss 启动脚本
├── 📄 openGauss部署指南.md # openGauss 部署文档
└── 📄 README.md # 本文件
- ✅ 用户注册与登录
- ✅ JWT Token 认证
- ✅ 密码加密存储(bcrypt)
- ✅ 多语言界面(中文/英文)
- ✅ 球鞋库存 CRUD 操作
- ✅ 状态管理:持有 / 运输中 / 已出售 / 心愿单
- ✅ 品相管理:全新 / 二手
- ✅ 价格与日期追踪
- ✅ 自动资产统计
- ✅ 创建主题收藏夹
- ✅ 公开/私密切换
- ✅ 添加/移除收藏项
- ✅ 收藏详情查看
- ✅ 收藏搜索与筛选
- ✅ 资产总值统计
- ✅ 品牌分布图表
- ✅ 价值分布分析
- ✅ 高价值球鞋展示
- ✅ 实时数据更新
- ✅ 公开收藏展示
- ✅ 搜索与筛选
- ✅ 分页浏览
- ✅ 收藏详情查看
- ✅ 品牌管理(CRUD)
- ✅ 球鞋型号管理(CRUD)
- ✅ 数据关联维护
- 环境配置与启动指南 - 完整的环境配置说明
- openGauss 部署指南 - openGauss 数据库部署教程
- API 文档 - 完整的 RESTful API 接口文档
使用 Postman 进行 API 测试:
-
导入测试集合:
- 集合文件:
postman/SoleVault.postman_collection.json - 环境文件:
postman/SoleVault.postman_environment.json
- 集合文件:
-
配置环境变量:
base_url:http://localhost:3000token: 登录后获取的 JWT Token
-
运行测试套件
详细测试结果请查看 API测试结果.md
# 测试 PostgreSQL 连接
cd backend
node test_db_connection.js
# 测试 openGauss 连接
./quick_test_opengauss.sh# 启动 PostgreSQL 容器
./start_online.sh
# 停止服务
./stop_online.sh# 启动 openGauss 容器
./start_online_opengauss.sh
# 停止服务
./stop_online_opengauss.sh数据库容器启动后,会自动执行初始化脚本:
- 创建数据库
sneaker_db - 执行 SQL 架构文件
- 创建视图和触发器
- JavaScript: 遵循 ESLint 配置
- SQL: 使用 PostgreSQL/openGauss 标准语法
- Git: 使用语义化提交信息
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
后端环境变量配置(backend/.env):
# 数据库配置
DB_HOST=localhost
DB_PORT=5432
DB_NAME=sneaker_db
DB_USER=gaussdb
DB_PASSWORD=openGauss@123
# JWT 配置
JWT_SECRET=your-secret-key-here
JWT_EXPIRES_IN=7d
# 服务器配置
PORT=3000
NODE_ENV=development欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
- 确保代码通过 ESLint 检查
- 添加必要的测试用例
- 更新相关文档
- 遵循项目的代码风格
A: 检查以下几点:
- Docker 容器是否正常运行
- 端口 5432 是否被占用
- 环境变量配置是否正确
- 查看 环境配置与启动指南
A: openGauss 是华为开源的企业级数据库,与 PostgreSQL 高度兼容。本项目同时支持两种数据库,SQL 脚本位于不同目录:
backend/database/- PostgreSQL 版本backend/database_opengauss/- openGauss 版本
A: 使用提供的备份脚本:
./ops/backup_database.sh更多问题请查看 环境配置与启动指南.md 中的"常见问题"部分。
- ✨ 初始版本发布
- ✅ 完整的库存管理功能
- ✅ 收藏夹管理功能
- ✅ 数据统计与可视化
- ✅ 社区展示功能
- ✅ openGauss 数据库支持
本项目为课程作业项目,仅供学习和研究使用。
August1314
- GitHub: @August1314 calm
- GitHub: @calm-233
- PostgreSQL - 强大的开源数据库
- openGauss - 企业级开源数据库
- React - 优秀的 UI 框架
- Express - 简洁的 Web 框架
- Tailwind CSS - 实用优先的 CSS 框架
如果这个项目对你有帮助,请给一个 ⭐ Star!
Made with ❤️ by August1314