【基于Nest.js+React的全栈项目-00篇】开篇目录:25年新开系列文章,望多多支持~
该文章是【基于Nest.js+React的全栈项目】系列文章之一,整体信息详见:
- 文章总目录:【基于Nest.js+React的全栈项目-00篇】开篇&目录
- 源代码地址:nest-react-admin: 全栈项目,基于Nest.js + React 的后台管理系统
开篇
开篇可能「废话/矫情」的部分比较多,效率党可直接跳过~
最近一年多,自己的经历是有点波折的,在一线城市某大厂多年,然后转到老家二线城市某传统互联网公司,待了一年,躺平未果,然后再次重返一线。虽然曲折,但过程中确实收获很多。其中心路历程不展开讲太多(有机会可单独分享),提下这个事儿是想解释下搞该项目的一些初衷。
回顾这么多年的工作经历,比较意难平的一点是没有积累下几个拿得出手的项目。很多大佬也分享过真正的成长是在工作的八小时之外,言外之意是不要为了赚钱而打工,要把打工当成帮助自己成长的工具,这样于公于私是双赢的局面。趁着最近的gap期就想把这个想法落地,也给这个项目开个头:搞一个可长期维护的项目,既是对过去技术的一个沉淀,又能让以后学到的新东西有一个实践和落地的地方。于是相当了做一个基于 Nestjs 和 React 的后台管理系统。这么选的原因有几个:
- 国内全栈管理系统最火的是 ruoyi 及其衍生项目,但它是 vue + spring boot 生态。
- 该技术栈对前端更有吸引力,尤其是想从前端转全栈的。
- 后台管理系统是一个综合性很强的功能集合,各种能力都能加,想象空间比较大。
另外有一点需要特别说明下,该项目并不是从0开始coding的,这么做一不现实二也没有必要。现在有很多优秀的开源项目提供了现成的能力,而且一些相对独立的功能更可以直接甩给 AI copilot 去生成。该项目技术上说还是造论子,只是觉得目前没有一个特别综合全面,技术栈又对自己胃口的而已。所以自己会参考很多开源项目的现有能力,只求作出自己喜欢的东西。
另外有些需要前置基础知识的部分,比如nestjs入门这种,我会搞个快捷模式,比如分享一些个人觉得不错的文章,以此增加整个项目的连贯性。
内容规划
基础介绍
- 本项前端基于 React 生态,具体技术栈包括但不限于: React + Zustand + TanStack Query + Vite + Shadcn/Antd + TailwindCSS
- 后端基于 Nestjs,具体包括:Nest.js + Mysql + Typeorm + Redis + JWT + RBAC 等。
初期肯定是基于 Nestjs + React 这俩为主的项目,比如常见的注册登陆、RBAC 权限管理、多语言、主题设置、人员管理、动态表单、Flowable工作流 等等这些常规后台管理系统都有的东西。但,最终形态自己也没完全想好,毕竟后面 1.0 完成后主要就是边学边做的过程了,当然自己的开发经验会被优先考虑,比如自己做过RN多端、cocos 小游戏、浏览器extension开发等。另外自己感兴趣的比如AI相关的Rag、MCP 也会逐渐融入进来。
文章目录
目录部分会不断更新,当前已写完和规划中的如下:
- 【基于Nest.js+React的全栈项目-00篇】开篇&目录
- 【基于Nest.js+React的全栈项目-01篇】基础篇:快速跨过新手村
- 【基于Nest.js+React的全栈项目-02篇】RBAC权限管理上-创建基本表
- 【基于Nest.js+React的全栈项目-03篇】添加前端模版项目
- 【基于Nest.js+React的全栈项目-04篇】RBAC权限管理中-前端篇
- 【基于Nest.js+React的全栈项目-05篇】RBAC权限管理下-菜单权限绑定
项目目录
本想使用 monorepo 的管理方式的,最后想让各子项目分割的更彻底一点,除了在同一个github项目内共用一套 lefthook 工具管理代码提交外,每个子目录都是单独的项目,没有任何彼此依赖。这样如果子项目很多,只需要进入自己感兴趣的某一个,单独安装依赖后便可单独跑起来。
目前根目录如下:
- admin-nest
- admin-react
- admin-docs
- .gitignore
- README.md
非常简洁一目了然,具体可以看代码:nest-react-admin
核心功能
这里是核心功能截图,但目前还在大前期,功能也都是雷同的一些能力,先不截图了,后面会逐渐帖一些。