Skip to content

一直做前端开发,都会有成为全栈工程师的想法,而 Nest 就是一个很好的途径,它是 Node 最流行的企业级开发框架,提供了 IOC、AOP、微服务等架构特性。

我们会学习 Nest 全部功能,并且会顺带把 mysql、mongodb、redis、rabbitmq、nacos 等后端中间件学一遍,也会学习 pm2、docker、docker compose 等部署方案,并做几个综合的全栈项目:

会议室预订系统 :这是一个单体应用,主要是练习使用 mysql + typeorm + redis + docker + nest 开发后端服务

电商系统 :这是微服务架构的项目,练习使用 rabbitmq + mysql + redis + docker compose + nacos + nest 开发微服务项目

大众点评系统 :练习 redis 的各种功能的经典项目,前端是移动端页面,练习使用 rabbitmq + mysql + redis + docker compose + nest 开发

聊天室项目 :这是 websocket 项目,练习使用 websocket + mongodb + redis + docker compose + nginx + nest 开发 ws 项目

教育平台 :这是 graphql 项目,练习使用 graphql + mongodb + redis + kafaka + docker compose + nginx + nest 开发 graphql 项目

博客项目 :这个是 ElasticSearch 项目,练习使用 elasticsearch + mysql + redis + docker compose + nginx + nest 开发 es 项目

课程前面部分是 Nest 基础,会讲解 Nest 各种功能的使用,包括 IOC、AOP、全局模块、动态模块、自定义 provider、middleware、pipe、interceptor、guard 等功能,还有 Nest CLI 的使用,Nest 项目的调试。

接下来会讲 docker 和 mysql、redis 等中间件的使用以及 typeorm 这个 orm 库的使用,还有 jwt、session 登录和 RBAC 权限控制,还会学习 pm2 部署,然后做第一个项目实战:会议室预订系统

然后开始微服务部分,会讲 Nest 如何开发微服务,如何创建 monorepo 项目,会讲微服务相关的中间件,比如用 rabbitmq 做削峰填谷,用 etcd、nacos 做配置中心和注册中心,还会学习 passport 做身份认证和 Docker Compose 部署多个项目以及 nginx,然后开发第二个实战项目:电商系统

接下来会深度练习 redis 的各种功能,然后做 redis 的经典项目:大众点评。这是一个基于地理位置的移动端项目。

之后会学习 WebSocket,我们会自己实现 WebSocket 协议来深入理解它,之后学习 Nest 里如何启动 WebSocket 服务,学习 mongodb,之后会做第四个实战项目:聊天室项目

然后开始学习 graphql,学习 graphql 的基础以及如何在 Nest 里使用,学习第二个消息中间件 kafka,然后用它开发第五个实战项目:教育平台

之后学习 ElasticSearch,学习如何用它做全文检索、它和 mysql 的关系,然后用它来做一个带全文搜索功能的项目:博客项目

最后回到 Nest 本身,会学习 IOC、AOP 的实现原理等

还有不定期的加餐,比如 oauth2.0 做授权,用它实现三方登录等

相信等你学完这本小册后,就已经是一个真正意义上的全栈工程师了。