Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/acmenlei/node-backend-template
A node.js based server template.
https://github.com/acmenlei/node-backend-template
crypto express jwt mysql nodejs redis sequelize sql
Last synced: 15 days ago
JSON representation
A node.js based server template.
- Host: GitHub
- URL: https://github.com/acmenlei/node-backend-template
- Owner: acmenlei
- Created: 2021-01-20T07:20:26.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-08-14T00:18:55.000Z (over 1 year ago)
- Last Synced: 2024-04-17T10:18:58.322Z (8 months ago)
- Topics: crypto, express, jwt, mysql, nodejs, redis, sequelize, sql
- Language: JavaScript
- Homepage:
- Size: 1.11 MB
- Stars: 21
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
#### 1. 项目介绍
`vue-admin-top`后台管理系统和`next--ssr-blog`的服务端, `Node`编写, 需要配合那两个项目食用, 算是比较详细的模块拆分, 带权限处理+数据中台, 可以学习练手。
`MySQL`+`Redis`做数据存储, `jwt`+`crypto-js`做用户登录校验> Api文档查看请在服务启动后访问http://localhost:9001/docs
#### 2. 模块介绍
- Api文档: `/docs`
- 鉴权模块(jwt&crypto-js&cookie&session): `src/authentication`
- 公共逻辑处理(tip/alioss/可视化数据处理): `src/common`
- 拦截器逻辑处理: `src/intercepter`
- 定时任务: `src/schedule`
- 公共逻辑处理(tip/alioss/可视化数据处理): `src/common`
- 过滤拦截器白名单: `src/whiteList`
- 数据库模型: `src/models`
- 管理系统路由接口: `src/routes`
- 前端路由接口: `src/receptionRoutes`
- 入口文件: `src/index`
- 权限相关逻辑处理: `src/permission`#### 配置跨域
在入口文件(`index.js`)中,找到以下内容
```js
app.use(cors({
origin: 'http://localhost:8080', // 此处为你的前端地址,值可以是string | Array
credentials: true // 允许跨域携带cookie
})) // 跨域
```#### 2. 启动
#### 安装依赖
```shell
yarn 或者 npm install
```
#### 启动
```shell
npm start
```## 项目启动说明(请先阅读)
1. 项目依赖`redis`,启动项目请先去启动`redis`,否则报错
2. 数据库结构在`/sql`文件夹下面
3. `/src/common/alioss/config.js`文件是阿里云存储的配置选项,涉及私密信息这里我就不上传了,我把它的内容列出来,大家可以自己去阿里云文档查询对应的配置属性
```js
module.exports = {
region: "",
accessKeyId: "",
accessKeySecret: "",
bucket: "",
Action:"",
roleArn: "",
policy: JSON.stringify({
"Version": "1",
"Statement": [
{
"Effect": "",
"Action": "",
"Resource": [
]
}
]
}),
RoleSessionName:""
}
```