项目简介
XYMALL 商城 API 服务端是一个前后端分离的项目,集成了 Nestjs、Mongodb、Jwt 等技术。项目包含四端,分别为 Api 服务端、Admin 管理端、Web 前端(uniapp)、PC 端(Nuxt3)。为便于迭代和管理,采用 Nestjs monorepo 模式,将服务端 Api 分为 admin-api 和 web-api 两个项目分别开发。
项目的主要特性和功能
主要特性
- 采用 Nestjs 框架,利用其依赖注入机制,使代码结构清晰,便于维护和扩展。
- 集成 Mongodb 数据库,适合存储电商业务各类数据。
- 运用 Jwt 进行身份验证和授权,保障系统安全。
- 采用 monorepo 模式管理项目,方便多项目协同开发与迭代。
功能模块
Admin 端
已完成管理员、权限角色、商品管理、会员、Banner、素材库、分类、标签、新闻、站点设置等模块,优惠券模块正在开发中。
Web(uniapp) 端
已完成首页数据、商品相关、用户相关、购物车相关、订单相关等接口。
安装使用步骤
复制项目
bash
安装项目依赖
bash
yarn 或者 npm install 或者 pnpm install
配置数据库链接字符串
修改 libs/common/config/src/db.confug.ts
文件,将数据库链接字符串替换为自己的数据库信息。需先安装配置好 Mongodb 数据库,项目默认使用密码链接,若不想配置密码链接,可将链接字符串修改为 mongodb://127.0.0.1:27017/[数据库名]
。详细配置可 点击查看配置教程 。
修改项目启动端口
在 libs/common/config/src/port.config.ts
文件中修改项目启动端口,项目分为 admin 端和 web 端,需设置两个不同端口,默认 admin 端为 3008,web 端为 3009,可根据需求自行修改。
修改项目 jwt 秘钥与失效时间
在 libs/common/config/src/jwt.config.ts
文件中修改 jwt 秘钥与失效时间,默认 jwt 失效时间为 1 天。
初始化数据库
由于脚本未写好,需先导入备份数据库文件 backup/nest-js.sql
,可使用 Navicat Premium 等工具导入。初始化完成后,Admin 端的默认最高权限管理员账号为 xuanyu@qq.com
,密码为 123456
。
运行项目
```bash npm run dev:admin
npm run dev:web-dev
npm run start:admin-prod
npm run start:admin-prod
``
项目运行完成后,控制台会输出 swagger 接口文档 api 地址,例如:
http://localhost:3008/api-docs`
打包项目
```bash npm run build:admin
npm run build:web ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】