yuu2lee4 / library_be

一个基于豆瓣API的书架借阅平台
5 stars 2 forks source link

关于本项目

该项目是一个书架借阅管理系统(鲲鹏),它分为后台管理系统和书籍借阅系统。后台管理系统可管理书籍的分类、录入(可通过isbn自动获取书籍信息)、和借出记录。书籍借阅系统可进行用户注册(公司里可用ldap)、书籍展示、书籍借阅归还。

项目运行指南:
1、安装node20.x,安装完后可在命令行输入node -v查看版本,以便确认安装成功
2、在命令行里,输入npm install -g nrm(nrm可以管理npm的源,安装完之后可以nrm use taobao切换淘宝的源)
3、在命令行里,输入npm i -g nodemon全局安装nodemon(nodemon可以用来监控你 node.js 源代码的任何变化和自动重启你的服务器)
4、安装mongodb,建立一个名为library的数据库并运行,可以使用robo 3t进行图形化管理
5、在命令行里,输入npm install -g pnpm
6、clone本项目,进入项目根目录输入pnpm install安装依赖
7、配置config/default.json里的邮箱(以126邮箱为示例)

{
    "mail": {
        "host": "smtp.126.com",
        "port": 465,
        "secure": true,
        "auth": {
            "user": "username@126.com", 
            "pass": "password"
        }
    } 
}

8、如果使用isbn获取接口,需要配置config/default.json里的isbn.apiky
apikey需要去申请

9、如果使用ldap,需要配置config/default.json里的ldap

{
    "ldap": {
        "server": "ldap://ldapservice.domain.com",
        "baseDn": "CN=Admin,CN=Users,DC=test,DC=com",
        "bindPassword": "password123",
        "searchDn": "OU=UserContainer,DC=test,DC=com",
        "searchStandard": "mail"
    }
}

10、配置完后输入npm start就可以启动后端了
11、启动前端vue3版本react版本

目录结构:

    ROOT/
    |-- app.js             入口文件
    |-- config             配置文件
    |-- upload             上传文件存放目录
    |-- utils              工具方法
    |-- controllers        控制器,定义了操作数据库集合的各种方法
    |-- routers/routers.js 后端路由,提供接口供前端调用获取数据
    `-- models             数据库模型

特别注意
如果安装依赖c++的包,需要node-gyp编译,nodejs安装的时候就自带了node-gyp,然后还需要安装python和c++编译器:

https://github.com/nodejs/node-gyp