NestJS 基础应用教程
项目介绍
base-app-nestjs
是一个基于 NestJS 框架的基础应用项目,专注于领域驱动设计(DDD)架构和 SOLID 原则。该项目旨在提供一个可扩展、易于维护和测试的代码库。它结合了 NestJS、TypeORM 和 GraphQL,适用于构建 REST 或 GraphQL API。
项目快速启动
安装依赖
首先,克隆项目仓库并安装依赖:
git clone https://github.com/pezzetti/base-app-nestjs.git
cd base-app-nestjs
npm install
配置环境
复制环境变量示例文件并进行必要的配置:
cp env-sample .env
启动应用
使用 Docker 启动数据库服务:
docker-compose up -d
启动应用:
# 开发模式
npm run start:dev
# 生产模式
npm run start:prod
应用启动后,可以通过以下端点访问:
- REST API:
/users
- GraphQL API:
/graphql
- Swagger 文档:
/docs
应用案例和最佳实践
案例一:用户管理系统
使用 base-app-nestjs
构建一个用户管理系统,包括用户注册、登录和权限管理功能。通过 GraphQL 或 REST API 提供接口,实现前后端分离。
最佳实践
- 模块化设计:遵循 DDD 架构,将业务逻辑划分为多个模块,每个模块负责一个特定的领域。
- SOLID 原则:确保代码遵循 SOLID 原则,提高代码的可维护性和可测试性。
- GraphQL 与 REST 结合:根据需求选择合适的 API 风格,GraphQL 适用于复杂查询,REST 适用于简单接口。
典型生态项目
NestJS 生态
- TypeORM:一个强大的 ORM 框架,与 NestJS 无缝集成,简化数据库操作。
- GraphQL:提供灵活的数据查询和操作接口,适用于复杂的前端应用。
- Jest:用于单元测试和端到端测试,确保代码质量。
通过结合这些生态项目,base-app-nestjs
可以构建出高效、可扩展的后端应用。