今天跟大家唠唠我最近折腾的“元柳斋”项目,这名字听着霸气?就是我搞的一个小小的个人知识库,灵感来源是《死神》里的山本元柳斎重国,想把自己学到的东西像他老人家一样,沉淀下来,变成自己的力量。
说干就干!我先是调研了一圈,市面上知识库软件挺多,但总觉得差点意思。要么太重,功能用不上;要么太简陋,满足不了我的需求。我决定自己动手撸一个。
第一步:选型!技术选型这块,我考虑了很久。前端用后端用数据库用
前端:本来想用 Vue,但最近 React 用得比较顺手,加上Ant Design组件库也挺好用的,就直接 React + Antd 梭哈了。
后端:Java老熟人了,Spring Boot一把梭,开发效率嘎嘎快。
数据库:MySQL 足够用了,简单稳定。
第二步:搭架子!有了技术选型,就开始搭架子。Spring Initializr 一键生成 Spring Boot 项目,然后把 React 项目也建前后端分离,接口定义就可以开始搬砖了。
后端:建好 Controller、Service、Mapper,把数据库连接配置简单的 CRUD 接口先跑起来。
前端:Ant Design 的 Layout 组件一套,先把页面框架搭左边菜单栏,右边内容区。
第三步:核心功能实现!知识库嘛核心就是增删改查。
新增:支持 Markdown 编辑器,可以方便地编写和排版内容。我用了 * 这个库,挺好用的。
查询:支持关键词搜索,可以快速找到想要的内容。MySQL 的 LIKE 语句加上全文索引,效率还不错。
修改:直接在编辑器里修改,保存就完事了。
删除:确认一下,咔嚓一下就删除了。
第四步:细节优化!权限管理:这个很重要,谁能看,谁能改,得控制我简单做了个用户登录,然后根据角色来控制权限。
分类管理:知识点多了,得分类整理,不然乱成一锅粥。我做了个简单的分类树,可以无限级分类。
界面美化:程序员也要懂点美学,不能太丑。Ant Design 的主题定制功能挺强大的,稍微改改就好看了。
后端:打成 Jar 包,扔到服务器上跑起来。我用了 Docker 来部署,方便管理。
前端:打包成静态文件,放到 Nginx 上。
遇到的坑:Markdown 编辑器:* 刚开始用的时候,有些配置不太清楚,踩了一些坑,后来仔细看了文档,才搞明白。
跨域问题:前后端分离,肯定会遇到跨域问题。Spring Boot 里面配置一下 CORS 就解决了。
这回“元柳斋”项目,虽然不大,但从头到尾都是自己做的,学到了很多东西。以后我会继续完善这个知识库,让它真正成为我的知识沉淀之地。也希望我的分享能给大家带来一些启发。
还没有评论,来说两句吧...