跳到主要内容

TS全栈开发课

success

3R教室《TS全栈开发系列》两周年重构版新课全新上线,已于2024年8月正式上线开更!

经过了几个月的新课规划,3R新技术课正式与大家见面。新的3R教室TS全栈课程取消了原规划的“入门篇”、“进阶篇”、“实战篇”、“变现篇”这样死板的教学方案,而变得更加社区化。整个3R教室将通过三个板块(全栈课、训练营社区服务)来更加系统化的为会员们提供高质量的服务

信息

本页为技术课页面,只介绍与阐述《TS全栈开发系列》课程,其它板块的介绍可以查看3R教室的首页介绍或每个板块各自的详情页

与旧课程相比,为了适应日益变化的市场需求,我们采用两套技术课的方案进行教学。旧版TS全栈课程以Nestjs框架为主,外加一些React中后台开发的相关内容。旧版课程的主要教学目的在于提升会员在远程工作/外企/海外/新兴创业企业等方面的求职能力。而经过两年多的发展,3R教室会员的学习目标变得越来越多样化。有因为纯兴趣爱好想学习的,也有想成为自由工作(独立作品开发/外包项目接单/知识付费等)或创意工作者的同学。许许多多的新3R会员并不都完全以求职为目的,这也使得旧版本的技术课必须要推倒重来以兼顾多方面的需求。同时,本已实践中的《变现篇》使用固定视频讲解的方式也无法满足不同目标的会员的需求,因为每一个人的情况和经验也是不一样的,而且市场环境也是日新月异地在变化中。所以,新版的全栈课中去除了《变现篇》,而把这部分内容改为原来的自由工作者训练营。而课程改回为纯技术课,并且新增一套专用于适合自由工作者的技术课。

3R《TS全栈开发系列》两套课程的大体内容为

  • 《Next.js+Hono.js+Prisma全栈开发实战》(以下简称:新课):next.js+hono.js+prisma全栈个人网站与社区系统开发
  • 《Nestjs+React全栈开发实战》(以下简称:旧课):vite+typescript+react+nestjs+typeorm中后台管理系统开发

目前重点更新的是新课,而旧课暂时处于维护期,并会在新课更完后(2025年初左右)重构一套升级版(纪念版)上线

新旧的作用和目标人群是不同的。简单来说,前者兼顾自由工作者和求职者,后者只面向求职者。下面详细的介绍一下两套课程的内容和优缺点,以方便各位朋友有个清晰的思路

👇篇幅过长过隐藏,强烈建议查看

关于《Next.js+Hono.js+Prisma全栈开发实战》

《Next.js+Hono.js+Prisma全栈开发实战》是站长的新作,也是后续3R教室最重要、创作优先级最高的教学内容(高于训练营

为什么要出这套课?

首先,我们需要明白,node.js在后端开发方面的定位(因为前端部分不用考虑,99%以上都是js/ts开发)。node.js虽然拥有IO异步、高并发、多线程、cluster集群等优点。但最大的优点还是前后端一体化,即和前端柔和在一起共用类型(ts)、函数、生态等。正常情况下,不是特别秀逗不会去使用node.js写微服务、超大型复杂企业级项目的后端。因为超高性能的后端领域是属于rust和go的,而超复杂企业级项目的后端领域是属于java的。我们不能使用一个技术去做他不擅长的领域。所以,自然而然,得出node.js作为后端的擅长领域以及定位:开发需要快速出产并且对性能有一定要求的中小型单体应用

  • 相对于php:有着前后端一体化及性能碾压传统fpm(也不亚于swoole、workerman)的优势存在,是php的最完美继承者(但是node.js生态目前相对php还有差距的)
  • 相对于go和rust:前后端一体化易于部署和开发,适合作为go和rust前中期的替代、轻量级的hono.js框架也方便在项目高速发展期把后端随时替换成go或rust与微服务架构以适应业务需求。可以在学习node.js之余,学习rust,因为它在很多场景下用来做node.js的基建。也可以研究golang,因为在后期你可以忽略不计开发成本,不需要前后端一体时,golang明显就是node.js的升级版!
  • 相对于java:java非常强大,拥有者良好的生态,性能中上、适合具有复杂的架构和数据结构的企业级项目,适合团队协作等等优势。但一个字否定:“卷”,再加一个字:“慢”(就算spring boot,开发中小型的效率也是如此拉胯),所以没必要继续分析了
  • 相对于python:专业领域不一样,node.js做不了AI,python做web还不如php。唯一的交集可以一起做爬虫😅
  • 相对于.NET:毋庸置疑,.NET好许多,全方位的可以吊打node.js。就算远程/海外/外企求职等求职领域也不输node.js,但架不住node.js可以和前端整合一起玩

站长作为十几年的老码农(专注于delphi、haskell、php、jquery方面的开发),17年因为想使用前后端一体化开发,又会一些rust(rust和node.js基建有一点关联),然后机缘巧合下就转了TS全栈。一直想找一套既拥有php symfony/laravel框架的快速开发体验,又兼具js/ts和node.js生态的IO异步、高并发和前后端一体化的开发组合。实践过大量的方案,比如nestjs+monorepo、react、trpc等,但都不是很理想。虽然有些方案比较接近目标了(旧课中提供了大量的方案),但都是通过各类魔改、自定义命令等乱七八糟的hack方式强硬实现的,维护难度极大且影响开发体验。而尝试过next.js+server action+hono.js+prisma之后,站长明白,契机来了。这套技术栈可以认为是目前唯一的php最佳新生代替代品。。。几乎兼具了所有轻量级快速开发和高性能的优点

相对于旧版的nestjs+react全栈开发课来说,这套课或者说这套技术栈有着非常多的亮点,比如

  • 十分轻量:next.js、hono.js、prisma orm都是轻量级框架,非常适合开发中小型项目
  • 简单易学:不需要太多的后端基础或前端经验,也没有太多的抽象和逻辑。边学边做即可掌握,有种现代版PHP的既视感
  • 开箱即用:不需要去手动搭建并不断调整monorepo这种多层次的架构和类型、库共享等方面,也不用像纯react那样自己去封装前端路由,没有多少心智负担
  • 体验优秀:这套技术栈就站长当前的实践来说有着非常良好的开发体验。目前而言,虽然hono这类新兴的微型node.js框架的生态没有nestjs等一些老牌大型框架成熟。但也在不断发展并且已经有许多生产级别的项目在使用了。另外,由于是新框架,完全没有nestjs这类的历史包袱。如hono天然就支持各种serverless平台、支持esm、针对bun优化、超高性能和并发支持等等。最重要的是和next.js无缝整合,用于替代next.js默认的server action模式
  • 性能强劲:hono.js作为轻量后端框架,由于其原生支持bun并且不做路由检索以及内核很小等原因,性能和并发支持在所有node.js框架中是顶级的存在(相对而已,nestjs即使用fastify适配器,也是没法比的)
  • ...

除了技术层面,这套技术栈在自由工作和求职等变现方面同样是非常适合和优秀的

  • 独立开发者而言:该套技术栈非常容易掌握,开发效率和一体化程度也很高,特别适合快速实现自己想要的作品投入市场并做后期迭代
  • 外包项目(这里的外包专指海外客户和创业项目客户):开发效率、维护及二开难易是首要考虑的,另外,并发测试数据的漂亮也很重要,而这套技术栈全部满足
  • 求职方面:next.js+node.js全栈开发的岗位需求数量非常多(包括远程工作、国内创业企业、外企以及海外本地offer也很多),就3R这么一个小社区的资源群,也经常会有这类招聘需求

关于《Nestjs+React全栈开发》

原来旧课中除了重点的nestjs框架后端开发的教程之外,早期还制作了一些react+vite中后台开发的课程,并以站长编写的中后台应用toomejs作为基石进行整个react后台面板的开发讲解。但是随着时间的推移,很多事情在不断变化,2024年的情况与2022年已经变得完全不同。首先,无论远程还是坐班工作,无论国内还是海外,纯前端的工作(尤其是中后台开发类)变得越来越卷。这是因为,有越来越多或个人的或企业的开源中后台方案可以选择,根本不需要你去开发。就拿3R教室这个小圈子来说,有很多会员同学在原来react课程源码-toomejs这个面板的基础上,开发出了一堆开源的后台面板。大部分时候,如果对自己开发后台感兴趣,仅需要学习一下react或vue,然后下一个别人开源的后台面板,研究一下代码就知道编写的思路和方法了,然后改一改就变成自己的了^v^。而很多所谓的TS工作,尤其薪资高一点又不是特别卷的,基本都侧重node后端领域的深度,对B端的中后台领域都仅限于使用现成的开源改了。或是rn、next.js这种千变万化的C端的前端及客户端领域了。这使得,后台管理这一部分的课程显得如此的无足轻重

再来说分析一下nestjs。相对于node.js这种更适合轻量级的后端开发来说,nestjs强制性走了一条不适合它的道路。用了大量反射、容器、依赖注入等方式来构建框架,非常笨重。站长认为node.js对于后端的定位应该是类似一个青春版的golang。也就是在不需要上微服务和超高性能时,使用node.js构建轻量级的单体应用后端无可厚非。一旦业务流上去了,则适合使用golang替换。然而无论golang或者node.js,都比较适合现代化后端开发。现代化后端开发最流行的都是轻量级开发框架,比如gin、echo、gofiber、express、koa、fastify、hono.js、elysia等等。而nestjs尝试去走一条本就不适合node.js的企业级开发之路。这个领域在国内向来应该是属于Java的,在海外也基本属于Java和.NET两者的。在一些性能要求不高的项目中,就连PHP都比node.js更适合去做企业级开发(毕竟有laravel、symfony等一系列成熟的生态),nestjs做了本该不是node.js做的事情。甚至它还支持微服务,这就更不属于node.js的领域了,用golang做不好吗?所以,长期以来nestjs处于什么都想支持,但是什么都支持不到位的一个半成品的尴尬境地。需要正经使用,必须要做大量的魔改和订制。比如,他的配置模块几乎不是人类可以使用的,所以站长为了提升大家的开发体验,不得不在课程里自行开发一个配置模块。与各种ORM的匹配(比如课程里的typeorm)也是随便一搞,根本没有深度整合,甚至根据动态配置实现数据迁移等都需要自己魔改。虽然站长在课程里都写了解决方案,但是,这样大的心智负担和学习曲线,去学习和使用一个本不属于它自己领域的技术,这应该并不是使用TS一种语言做全栈的初心所在了。另外,Nestjs框架由于其生态的历史包袱原因,官方无法完全支持ESM,也无法默认支持bun(虽然课程里站长都经过魔改支持了,但肯定不如官方支持的框架)。这就导致很多新兴的js/ts生态无法使用,以及性能方面的各种问题。还有最麻烦的是与前端的一体化整合开发方面,课程里使用的pnpm workspaces+turborepo的monorepo方案,但这种方案的确非常恶心,因为你需要关注的东西不断增加。比如turborepo升级后API改了,比如你想用bun了,比如前后端通讯使用trpc和rest之间纠结等等

但从3R社区两年的运营经验来看,在求职方面,掌握nestjs的优势显然比next.js加其他node.js框架求职成功的概率高出许多。站长发现,许多会员同学使用站长的nestjs+react课程找到了心仪的工作。有远程、有外企也有海外同学的在当地找到的工作,甚至还有用这套求职国企成功的

这也是站长打算继续保留React+Nestjs中后台开发这套课程的原因。根据大部分求职成功的会员同学的反馈,使用React+Nestjs求职的流程和模式大概是这样

  1. 在3R资源群或者其他社区或平台上发现Node.js招聘岗位,但绝大部分并没有特别指定要求掌握Nestjs,反而对前端React会有”熟练掌握优先“的关键词
  2. 开发者去面试,由于使用node.js的面试和笔试的远程/坐班(外企、创业团队、海外企业为主)大概率不会像Java一样有一堆八股,极少涉及算法方面,一般只看你掌握的深度。而Nestjs代表了Node.js在web后端开发领域的企业级标准也是最强大和复杂的框架。所以熟练掌握Nestjs框架,并且还自己开发的中后台面板搭建了一套自己的中后台管理系统。然后对各方面掌握的比较熟练,面试的时候非常容易脱颖而出。笔试基本就是做个小案例,用nestjs做出来远比其它node.js小框架做出来更容易得到认可
  3. 反而入职后,让你使用的后端框架大概率会是express、koa、fastify这类或过时或非常简易的微框架

以上流程是站长咨询了非常多的从事node.js全职开发的会员得出的结论,即:面试造飞机,入职打螺丝。但无论入职后用什么,能否入职才是最重要的,而nestjs几乎成为入职node.js的敲门砖了。因为next.js这种以前端为主并且封装好路由的全栈框架以及fasfity、hono.js这种微框架太过简单,以至于太容易学会。这样导致了,虽然react前端、node.js后端、js/ts全栈的岗位看似很多,薪资也挺高,但会这套的人更多,卷得一批(这也是上面说的新课更适合自由工作的原因)。而nestjs更像是java那一套,非常强大,但又没有java那么成熟。所以很多东西需要自己魔改、封装,对开发者的技术深度和动手能力要求极高。这就在求职市场上大放异彩了!

但无论怎么说,node.js更适合于中小型应用的后端开发,以及与前端的一体化。总而言之,言而总之,nestjs并不符合node.js的定位,也无法跟上时代的潮流。同样的,react+react router自己封装后台,也并不实用,需要经常维护更新,一般人没这个精力。但他两在js/ts和node.js的前端、后端、全栈求职领域,仍然是王者的存在

综上所述,这就是我们仍然决定重构一套“升级版”旧课的目的,但此课程的优先级肯定会比较低,目前计划是2025年初再出。但如果你对react+nestjs全栈开发/中后台开发感兴趣,也可以直接学习我们的旧课

📝介绍

success

此处课程专指新课程,旧版课程信息在后面

本课程的内容整体脉络如下

先讲解一些基本的react和node.js知识以及应用的搭建。然后从使用next.js编写一个简单的CRUD个人博客开始,不断的增加拓展和优化,让应用变得原来越健壮,最终成为一个带有多用户付费功能的社区系统。在这个渐进式的学习过程中,我们会掌握以ts+react(next.js)+node.js(hono.js)+prisma orm全栈开发为主线脉络并涉及几乎绝大部分js/ts常用生态。另外,我们还将在课程中掌握一些基本的服务器运维和优化,devops方面的知识。希望大家喜欢!

信息

2024年9月后购买会员后的学习进度正好与新课更新进度匹配。因为旧课暂时已不再维护,没有特殊必要,无需再学习旧课。对纯react以及nestjs感兴趣的同学,建议在旧课“升级版”上线后再学习。老会员如果需要温故,直接看“现存版”旧课即可

课程名称《Next.js+Hono.js+Prisma全栈开发实战》
开更时间2024年8月11日,预计于2024年12月全部完成,维护及回滚迭代至2027年8月11日
创作及服务团队创作:站长@pincman;群问答助教:@onOil;论坛问答助教:@cloneable
学习时长4-6个月左右(以零基础或没接触过JS/TS的开发者学习时间计算)
课程定位TS中小型全栈应用开发
课程目标让学习者成为一名js/ts全栈独立开发者
适合学者独立产品开发者、外包工作室运营者、技术创业者等各类自由工作者;
远程、外企、海外等岗位的求职者;
所有对JS/TS全栈开发感兴趣的编码爱好者
学习要求零基础、其他行业转码或
其它技术栈开发者(如Java、PHP、Python、Swift等)转技术栈/前端开发者转全栈
主要技术React(使用Next.js框架)用于前端及全栈开发;
Node.js(使用Hono.js框架)用于后端API开发;
Prisma.js ORM用于数据库开发;
Tailwind+Shadcn-ui+Antd用于编写UI界面样式等
教学模式文档课程+源码(主)/ 视频课程(辅)/ 群问答+论坛问答
源码仓库classroom/fullstack
涉及知识typescript、node.js、bun.js、react、next.js、prisma.js、
zod、postgresql、taiwlindCSS、shadcn/ui、antd、
jwt+oauth2(passport.js)、rbac(casl.js)、dayjs、sse、
websocket、bullmq、redis、openapi(swagger)、tdd/e2e测试、
gptapi、支付接口、腾讯云sdk、markdown/mdx、流媒体、性能优化/缓存/日志、Linux服务器部署运维、Devops(只涉及CI/CD)、monorepo等

课程知识点分布图如下

🗝方法

一个良好的学习方法,总能达到事半功倍的效果。所以尽量按站长推荐的学习方法和流程学习本课

请务必先学习一下git的安装配置基本使用以使用我们的课程源码

另外,如何你是零基础或者其他技术栈的开发者,请在学习本课前请提前学习以下资料

正确的学习流程如下

  1. 先提前学习以上入门类资料
  2. 通过课程文档学习课程,并自行手动复现每节课的代码
  3. 在遇到代码跑不通或其他问题时,请克隆仓库中的课程源码,与文档进行对比学习
  4. 实在无法解决,也可以参考视频课程
  5. 如果视频课程也无法解决你的问题,可以在会员QQ群或论坛的问答频道联系助教@onOil求助
  6. 如果是课程本身BUG问题,请到课程的代码仓库(classroom/fullstack)中提交工单,站长会抽时间处理
  7. 在学习完课程50%以上内容时,也可以参考我们工作室的一些商业项目的源码学习,以提升真正商业项目的开发能力
  8. 在吃透一到两个工作室商业项目源码后,可以修改作为自己的案例用于接单或求职需求

在学习时,也请注意以下几点

  • 请务必以文档+源码为重要学习对象,实在搞不定再看视频或者直接问助教
  • 视频课程的更新较文档和源码来说会滞后,没做完10节课出一批视频
  • 目前来说,由于历史原因,工作室里使用next.js+hono.js+prisma开发的商业项目基本没有。但是纯前端的next.js小项目,next.js+nestjs+typeorm的大型项目、中型项目很多,可以先学习这些项目的源码。后续,工作室的新项目也会改用新课的技术栈了,敬请期待!
  • 工作室的商业项目源码由工作室的开发者(教室长期合作的古早期老会员)开发,绝大部分并不是由站长或者助教开发的。所以,在部署、修改及二开方面我们并不能给予太多的帮助,请自行研究。一些修改后部署的线上效果可以参考miven同学的个人网站

可共享的商业项目源码有五个,我们默认开通了以下项目的源码

  • Goflash:一个美国的购物返利网站,使用next.js+antd pro+nestjs开发
  • Youni: 一个加拿大的类似校园口袋一样的校园社交移动网站,使用next.js+vben+nestjs开发
  • Kuromi:一个加拿大的移民网站,使用next.js+antd pro+nestjs开发
  • XiaoWen:一个法国的网络工作室官网(纯静态),使用next.js开发
  • Ryzz【默认不开通,有需要联系助教开通】:一个芬兰的仿小红书移动应用,使用react native+antd pro+nestjs开发

如图

📚大纲

  1. Node.js开发环境搭建及应用开发入门
  2. Vite+React+Tailwind+Antd应用初始化
  3. React入门与常用Hooks详解
  4. Zustand状态管理详解
  5. Next.js+shadcn/ui应用初始化
  6. Next.js核心概念及应用构建
  7. Server Action+prisma全栈开发入门
  8. Markdown编辑器与MDX渲染实现
  9. 用户体验(表单验证、Loading效果、错误页面等)与SEO优化
  10. Next.js+Swr整合Hono.js实现全栈开发
  11. 构建Open API(Swagger)接口文档
  12. primsa.js实现无限级数据结构(分类、评论)与软删除功能
  13. 使用MeilliSearch实现全文搜索
  14. JWT用户认证与用户注册、修改密码功能开发
  15. 环境变量与配置系统实现以及dayjs时间库的封装
  16. 使用腾讯云COS上传图片与视频
  17. Landing首页以及导航页的实现
  18. 明暗皮肤、多国语言实现与整体样式优化
  19. 使用framer-motion+magicui添加网站动效
  20. 流媒体与视频播放器功能开发
  21. 图片剪裁压缩功能实现
  22. OAuth2(Github等)第三方登录功能实现
  23. 找回密码、绑定邮箱和手机号等验证功能实现
  24. 使用Redis+BullMQ实现异步消息队列
  25. 基于casl.js的RBAC动态权限功能实现
  26. websocket实现即时聊天及消息离线存储功能
  27. 使用sse方式调用chatgpt api实现自动写帖子
  28. 点赞、收藏、关注等社交功能与用户中心开发
  29. 支付功能与订单系统实现
  30. 收费功能与会员文档系统实现
  31. 使用Antd搭建建议后台框架
  32. 后台首页及系统设置开发
  33. 后台用户与权限管理、内容管理、订单管理开发
  34. 日志中间件、应用缓存与性能优化详解
  35. E2E测试及Jest TDD测试编写
  36. 使用Yargs编写安装包
  37. 在vercel一键部署你的网站
  38. Linux+Nginx服务搭建与运维
  39. 使用PM2+Cluster部署应用
  40. 利用Github实现CICD网站热部署
  41. 使用Gitea+Drone实现CI/CD热部署

📜旧课

success

旧课有一定难度,非常抽象,学习曲线陡峭,比较耗费时间。如不是老会员温故也无特殊需求,建议学习完新课后更具兴趣和需求决定是否需要学习升级版!

注意

旧课“升级版”目前暂定时未开更,暂定计划于2025年初开更,如果有需要请先学习“现存版”。旧课是纯文档课程,适合有丰富经验的其他技术栈同学转TS全栈

随着时间的推移,2022年出的《React+Nestjs全栈开发最佳实践》这套课程中的许多生态和框架(比如nestjs、react后台开发等)已经严重跟不上时代(虽然2023年努力尝试打补丁的方式修复),并且越来越与市场需求脱节。但不得不承认的是,在部分高薪远程、外企、海外、初创甚至国企岗位中,仍尤其巨大的面试入职优势。

另外,这套课程作为3R教室的起点,具有非常重要的,值得纪念的里程碑意义。他曾帮助许许多多的3R会员同学在远程工作、海外工作、外企工作甚至国企工作中求职成功,比如下面两位同学

也曾帮助我们的3R工作室实现了许许多多项目,使工作室辉煌过。虽然此课的技术栈和开发模式不再适合未来的趋势和3R的自由工作方向,但其价值始终存在

为此,站长计划,在我们的新课程全部更新完毕后,对整套课程重构一遍(大概定于2025年初)。把一些太过时的生态(比如typeorm等)去掉换成新的生态,对框架的API做一定的升级。这套课程与新课不一样的是,我们将长期维护升级下去,这就是3R教室一直所坚持的 - 不忘初心!

课程名称《React+Nestjs全栈开发实战》
开更时间现存版已基本更完,升级版暂定于2025年初开更并永久更新维护
创作者及助教创作:站长@pincman担任;问答助教:@onOil
学习时长6个月左右(不适合零基础学习)
课程定位React+Nestjs企业级中后台开发
课程目标增加学者的求职成功率和TS全栈企业级开发能力
适合学者高端远程、外企、海外等岗位的求职者
学习要求其它技术栈的web后端开发者(如Java、PHP、Python、Golang等)转技术栈/全栈、前端开发者转全栈
主要技术React用于前端开发;Nestjs用于后端API开发; MikroOrm用于数据库开发; Antd用于编写UI界面样式等
教学模式文档课程+源码+群问答+论坛问答
源码仓库classroom/admin(升级版,暂无代码)、classroom/nestjs2023classroom/nestjs2022classroom/toomejs(该库已弃,请直接查看@茶汰同学的完善版即可)
涉及知识typescript、node.js、bun.js、react、vite、mkiroorm、class-validator、class-transformer、mysql、taiwlindCSS、antd、
antd chart、tanstack-query、axios、react-router、jwt+oauth2(passport.js)、rbac(casl.js)、dayjs、sse、websocket、
bullmq、redis、openapi(swagger)、tdd/e2e测试、腾讯云sdk、markdown/mdx、monorepo等

📍现存版

旧课已经基本更新完毕。但是有少部分由于时间久远导致文档佚失(站长有一段时间专注于“一对一”、“茶话会”等变现服务和工作室外包业务以及远程岗位招聘的推广),但好在绝那些源码都在。甚至有许多会员同学在课程基础上构造了一套完整的后台管理系统(升级版就是计划参考这位同学的系统来重构讲解),但对于急需学习react+node.js中后台系统开发的新会员和以前已经学完的老会员,目前的“现存版”旧课仍有一定的参考意义

  1. Node.js开发环境搭建
  2. Nestjs+Eslint+SWC应用初始化及断点调试
  3. 装饰器与反射详解
  4. Nestjs核心概念
  5. 无懈可击的Linux服务器构建
  6. 使用Turborepo+pnpm workspaces构建monorepo应用]
  7. 使用Gitea+Drone自建CICD平台
  8. Nestjs整合Typeorm实现基本的CRUD操作及分页数据查询
  9. 请求数据的验证和响应数据的序列化
  10. 数据关联与树形嵌套结构的分类和评论的实现
  11. 自定义全局的验证管道,拦截器和过滤器
  12. 自定义数据验证约束及约束中的依赖注入
  13. 批量操作及软删除(回收站)功能使用
  14. 数据库与MeiliSearch的全文搜索
  15. 数据操作代码的抽象化
  16. 整合bun与pm2实现开发环境与生产环境免编译和自启『兴趣课,可选或略过』
  17. 自建配置系统实现
  18. 嵌套路由与Swagger文档实现
  19. 使用Yargs构建命令行工具
  20. 生产环境下静默启动以及PM2 API的使用
  21. 数据迁移功能的实现
  22. 数据填充命令实现
  23. 用户模块开发以及使用Passport实现JWT认证和无痛刷新
  24. 基于CASL的RBAC动态角色及权限系统实现
  25. 使用BullMQ实现异步验证短信与邮件发送
  26. WebSocket实现消息广播功能
  27. toomejs react后台面板源码分析
  28. 前后端对接构建完整后台管理系统

🧪升级版

以下是2025年将重构的旧课升级版,是由旧课升级改造而来。使用react+antd纯手工开发一个帅气的后台面板,然后用nestjs开发一整个复杂且强大的后端API,再对接前后端,变成一个CMS系统。包含了非常多的最佳实践和解决方案。适合高端远程工作求职、海外开发者本地求职、有这类技术需求的外企或国内大厂以及初创/独角兽企业求职等。大致目录如下,后续随着课程的制作或有少量删改

信息

旧课升级版,暂时没有开更,以下目录仅供参考。我们计划于2025年初开更,但是没有特殊必要,不再建议学习这套了!

  1. Nestjs应用初始化
  2. Nestjs核心概念
  3. 使用Turborepo+pnpm workspaces构建monorepo应用
  4. Nestjs整合MikroORM实现基本的CRUD操作及分页数据查询
  5. 请求数据的验证和响应数据的序列化
  6. 数据关联与树形嵌套结构的分类和评论的实现
  7. 自定义全局的验证管道,拦截器和过滤器
  8. 自定义数据验证约束及约束中的依赖注入
  9. 批量操作及软删除(回收站)功能使用
  10. MelliSearch实现全文搜索
  11. 嵌套路由与Swagger文档实现
  12. 数据填充命令实现
  13. 用户模块开发以及使用Passport实现JWT认证和无痛刷新
  14. 用户角色与权限管理功能实现
  15. 组织架构等数据结构编写
  16. 使用Antd搭建后台基本框架
  17. 后台皮肤、语言配置组件实现
  18. React Router+Zustand封装
  19. 菜单与面包屑组件实现
  20. KeepAlive功能实现
  21. 图标组件与多种样式的雪碧图实现
  22. Tanstack+Axios封装及整合
  23. 整合nestjs与React并对接前后端
  24. 使用Antd Chart实现首页仪表盘
  25. 基础配置与系统设置模块开发
  26. 组织结构管理模块开发
  27. 文章管理模块开发
  28. Vitest使用及TDD与E2E测试
  29. 使用Docker部署应用