# store-web-backend **Repository Path**: healerlzh/store-web-backend ## Basic Information - **Project Name**: store-web-backend - **Description**: 《NestJS全栈开发解析:快速上手与实践》 https://juejin.cn/post/7380166581672788020#heading-4 数字门店管理平台 React:https://github.com/wenjianmin/store-web-frontend Nest:https://github.com/wenjianmin/store-web-backend - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-09-25 - **Last Updated**: 2025-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## 介绍 本项目是`NestJS`技术图书 **《NestJS全栈开发解析:快速上手与实践》** 的实战项目,于**2024.9月**上线。 ## 安装 ```bash $ pnpm install ``` ## 运行 ```bash # development $ pnpm start # watch mode $ pnpm start:dev # production mode $ pnpm start:prod ``` > 注意: 1.由于项目中权限是环环相扣,如果你使用Postman等接口调试工具,大部分接口需要有access_token验证,意味着需要登录,登录前需要注册,注册需要获取验证,这些都可以在日志中看到。 2.除此之外,注册之后还不能调用某些接口,因为当前用户的权限集需要分配,你可以往db中添加数据,或者直接导入`sql`目录下的`store_web_project.sql`到db中。 3.项目中.http已经创建了一些接口测试案例,你可以直接使用。 ## 运行测试 ```bash # unit tests $ pnpm test # e2e tests $ pnpm test:e2e # test coverage $ pnpm test:cov ``` ## 项目配置及注意事项 - class-transformer采用0.3.x版本,使用plainToClass|classToPlain方法操作对象或实体, 不指定默认会安装0.5.x版本,这个版本废弃了前面两个api,使用plainToInstance|instanceToPlain代替,要想使用最新api,可能会报错缺少class-transformer/storage包,此时删除项目中@nestjs/types包即可 - chalk包使用^4.1.2版本,超过5.x是breaking version,应该使用ESM模式 jwt-auth.guard.ts 用于验证用户session状态 role-auth.guard.ts 用于验证用户接口权限 JWTModule注册在user模块中,当然也可以注册到auth模块中统一管理,生成和验证access_token就在auth.service.ts中进行 ## 项目目录 ``` text ├── README.md ├── nest-cli.json ├── package.json ├── pnpm-lock.yaml ├── src │ ├── activity │ │ ├── activity.controller.ts │ │ ├── activity.module.ts │ │ ├── activity.service.ts │ │ ├── dto │ │ ├── entities │ │ └── start-activity.service.ts │ ├── app.controller.spec.ts │ ├── app.controller.ts │ ├── app.module.ts │ ├── app.service.ts │ ├── auth │ │ ├── auth.module.ts │ │ ├── auth.service.ts │ │ ├── jwt-auth.guard.ts │ │ ├── jwt.strategy.ts │ │ └── role-auth.guard.ts │ ├── common │ │ ├── decorators │ │ ├── enums │ │ ├── http-exceptions.filter.ts │ │ ├── logger │ │ ├── logger.middleware.ts │ │ ├── mail │ │ ├── redis │ │ ├── response.interceptor.ts │ │ └── utils │ ├── logs │ │ ├── application-2024-04-05.error.log.gz │ │ ├── application-2024-04-05.info.log.gz │ │ ├── application-2024-04-06.error.log │ │ ├── application-2024-04-06.info.log.gz │ │ ├── application-2024-04-07.error.log │ │ └── application-2024-04-07.info.log │ ├── main.ts │ ├── order │ │ ├── dto │ │ ├── entities │ │ ├── order.controller.ts │ │ ├── order.module.ts │ │ └── order.service.ts │ ├── permission │ │ ├── dto │ │ ├── entities │ │ ├── permission.controller.ts │ │ ├── permission.module.ts │ │ └── permission.service.ts │ ├── product │ │ ├── dto │ │ ├── entities │ │ ├── hot-sales.service.ts │ │ ├── product.controller.ts │ │ ├── product.module.ts │ │ └── product.service.ts │ ├── role │ │ ├── dto │ │ ├── entities │ │ ├── role.controller.ts │ │ ├── role.module.ts │ │ └── role.service.ts │ ├── sys │ │ ├── dto │ │ ├── sys.controller.ts │ │ ├── sys.module.ts │ │ └── sys.service.ts │ └── user │ ├── dto │ ├── entities │ ├── user.controller.ts │ ├── user.module.ts │ └── user.service.ts ├── tsconfig.build.json └── tsconfig.json ``` ## 部署 如需部署到生产环境或Docker环境,需要区分各个服务地址,如Nest服务、Redis MySQL服务,它们在Docker和开发环境的host配置是不一样的,对应不同环境的.evn文件。 ## 交流学习 在项目运行中有遇到任何问题,请直接与作者联系! 需要加入交流群探讨学习,直接扫描下方二维码,如过期请添加作者WeChat! 作者WeChat:
项目交流群:
## 支持作者
图书购买链接:京东
图书购买链接:当当