夜猫子的知识栈 夜猫子的知识栈
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

夜猫子

前端练习生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 任务管理日历

  • 无代码平台

  • 图书管理系统

    • 图书管理系统:需求分析和原型图
    • 图书管理系统:用户模块后端开发
    • 图书管理系统:图书模块后端开发
    • 图书管理系统:用户模块前端开发
    • 图书管理系统:图书搜索前端开发
    • 图书管理系统:图书增删改前端开发
    • 图书管理系统:项目总结
  • 《全栈项目》
  • 图书管理系统
神说要有光
2025-03-10

图书管理系统:项目总结

这是我们学完 Nest 基础后的第一个实战项目。

功能比较简单:

但是前后端都有,比较完整。

我们通过 json 文件实现了数据的保存,并通过动态模块,实现了在 book 和 user 模块里分别可以指定不同的文件存储路径。

基于 multer 实现了文件上传,并自定义了文件名的格式。

实现了用户模块的登录、注册,图书模块的列表、新增、删除、修改、详情接口。

然后前端部分通过 create-vite 创建项目,用 react-router-dom 实现路由,用 antd 作为组件库,axios 发请求。

对接后端接口实现了登录、注册、图书管理页面。

这样,前后端功能就都实现并打通了。

整体测试下:

先注册个账号:

用这个账号登录:

根据书名搜索图书:

新增图书:

编辑图书:

删除图书:

做完这个小项目,你可能对学的基础知识用在哪就有更具体的了解了。

但其实还有很多优化的点:

  • 登录之后怎么保存登录状态?比如有的接口需要登录才能访问,怎么控制?

这需要用 session + cookie 或 jwt 的方式来实现登录状态的保存。

  • 数据保存在文件里并不方便,还有啥更好的方式?

保存在 mysql 数据库,用 TypeORM 作为 ORM 框架。

  • 后端接口怎么提供 api 文档?

这需要用 swagger

  • 文件保存在文件目录下,如果磁盘空间满了怎么办?

可以换用 minio 或者阿里 OSS 等对象存储服务。

  • 怎么部署?

前端用 nginx,后端代码用 docker 和 docker compose

  • 如何实现验证码?

可以用 nodemailer 发送邮件,然后用 redis 保存验证码数据。

是不是感觉这些东西都没接触过?

这些都是后面要学的知识点。

所以说,这个项目只是对前面一些基础的练习,但是想要做比较完善的项目,还是要学习方方面面的知识的。

接下来的章节我们就开始学习这些知识。

编辑 (opens new window)
上次更新: 2025/5/7 18:16:53
图书管理系统:图书增删改前端开发

← 图书管理系统:图书增删改前端开发

最近更新
01
IoC 解决了什么痛点问题?
03-10
02
如何调试 Nest 项目
03-10
03
Provider注入对象
03-10
更多文章>
Copyright © 2019-2025 Study | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式