耗时两个多月,我的全栈项目(vue3+nest)完成啦

前言

因为看到别人做的博客网站十分华丽而且功能繁多,所以下定决心自己做一个博客网站。其实在去年9月我就做过一个类似的博客网站了,只不过当时是用vue2和springboot,而且网站也不是很好看,所以今年暑假我决定将它重构!

前端架构

前端部分主要包括了前台和后台两个模块。我选择了 Vue 3 作为基础框架,搭配 TypeScript。此外,我也使用了一些优秀的库,如 axios 处理网络请求、v-md-editor 实现富文本编辑等。

后端技术栈

在后端部分,我选择了 Nest 作为基础框架,它提供了一个强大且高效的开发环境,使我能够更专注于业务逻辑的实现。作为数据库,我选用了 MySQL,并使用 TypeORM 作为 ORM 框架。在权限控制方面,我使用了 @nestjs/jwt 和 passport-jwt 来保障系统的安全性。为了提高系统的性能,我引入了 Redis 作为缓存中间件,另外,为了实现对象存储功能,我采用了 Minio,并借助其丰富的功能集成到项目中。

高安全性与性能优化

  • 为了保障系统的安全性,我采用了 helmet 来设置安全头部,同时通过 express-rate-limit 限制了用户的访问频率,以防止恶意请求。为了保障用户信息的安全,我引入了 bcrypt 进行密码加密。

  • 在性能优化方面,我使用了 TypeORM 的延迟加载特性,以减少数据库查询的复杂性,提高了系统的响应速度。另外,通过使用 Redis 作为缓存中间件,有效地减轻了数据库的压力,提高了系统的整体性能。

在线地址

效果图

前台图片1:

前台图片2:

前台图片3:

前台图片4:

后台图片1:

后台图片2:

相关技术

前端:

  • 样式来自于:hexo的shoka主题
  • 基础框架:Vue3
  • 状态管理:Pinia
  • 路由组件:vue-router
  • 网络请求:axios
  • 富文本编辑:v-md-editor
  • 其他技术:详见前端项目的package.json

后端:

  • 基础框架:Nest
  • 数据库:mysql
  • ORM框架:typeorm
  • 权限框架:@nestjs/jwt @nestjs/passport passport-jwt
  • 缓存中间件:redis
  • 对象存储:minio
  • 日志记录:winston
  • 安全设置:helmet express-rate-limit
  • 验证码生成:svg-captcha
  • 其他技术:详见后端项目的package.json

后续计划

等后续我再完善一下代码和写一篇部署文档就可以进行开源啦

虽然我目前仍在学校学习,但我保证会长期维护这个项目。我计划在未来进行前后台代码的优化,修复一些潜藏的 bug,并逐步完善项目的功能。同时,我也欢迎大家积极参与到这个项目中来,共同打造一个更加完善的系统。

相关推荐
LaughingZhu13 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
怕浪猫13 小时前
Electron 开发实战(一):从零入门核心基础与环境搭建
前端·electron·ai编程
Mahir0813 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
小鹏linux14 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
前端若水15 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Bigger15 小时前
mini-cc:一个轻量级 AI 编程助手的诞生
前端·ai编程·claude
涵涵(互关)15 小时前
Naive-ui树型选择器只显示根节点
前端·ui·vue
BY组态15 小时前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态15 小时前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart15 小时前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter