https://github.com/durunsong/kilyicms-server
这是kilyicms后端部署的演示项目
https://github.com/durunsong/kilyicms-server
Last synced: 2 months ago
JSON representation
这是kilyicms后端部署的演示项目
- Host: GitHub
- URL: https://github.com/durunsong/kilyicms-server
- Owner: durunsong
- Created: 2024-09-26T07:42:48.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T13:04:22.000Z (7 months ago)
- Last Synced: 2024-10-21T19:39:05.553Z (7 months ago)
- Language: JavaScript
- Homepage: https://kilyicms-server.vercel.app
- Size: 118 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# kilyicms-server
这是使用 **Node.js**、**Express**、**Neon** 云数据库、**CORS**、**JWT** 和 **Bcrypt** 开发的 KilyiCMS 后端项目。项目通过 **Vercel** 进行无服务器部署,旨在提供一个简洁、易于扩展的后端 API。
## 🎯 功能特性
- 🔒 **用户认证**:使用 JWT 实现用户注册、登录、权限验证。
- 🔑 **密码加密**:使用 Bcrypt 进行用户密码的安全加密。
- 🌐 **跨域支持**:集成 CORS 支持跨域请求。
- 📅 **时间处理**:使用 Moment.js 处理时间和日期格式。
- 🗄️ **云数据库**:使用 Neon 云数据库作为 PostgreSQL 数据库的无服务器解决方案。
- 🔧 **日志记录**:使用 Morgan 和 Debug 进行开发和生产环境的日志记录。
- 🧰 **环境变量**:使用 Dotenv 加载环境配置。## 🛠️ 技术栈
- **Node.js**:JavaScript 运行环境
- **Express**:轻量级 Web 应用框架
- **Neon**:云端 PostgreSQL 数据库
- **JWT (jsonwebtoken)**:用于 API 鉴权
- **Bcrypt**:用于密码加密
- **CORS**:跨域资源共享中间件
- **EJS**:模板引擎
- **Morgan**:HTTP 请求日志中间件## 📦 项目结构
```mariadb
kilyicms-db/
├── index.js # 入口文件
├── bin/ # 控制器目录/状态管理
├── models/ # 数据库模型
├── routes/ # 路由配置
├── middlewares/ # 中间件
├── config/ # 配置文件
├── db/ # 数据库连接配置
├── utils/ # 工具函数
├── public/ # 静态资源管理
├── views/ # 特殊页面处理(中转页)
├── sql/ # Neon数据库文件示例
├── .env # 环境变量配置文件
└── README.md # 项目说明
```## 🔧 环境变量配置
项目使用 `.env` 文件配置环境变量。以下是示例:
```mariadb
PORT=3000
DATABASE_URL=postgres://username:[email protected]/dbname
APP_SECRET=your_jwt_secret_key
```## 数据库文档和控制台
https://console.neon.tech/
### 🚀 安装和启动
```pnpm
1. 克隆项目
git clone https://github.com/durunsong/kilyicms-db.git
cd kilyicms-db2. 安装依赖
npm install
3. 配置环境变量
在项目根目录下创建 .env 文件,并根据上面的示例添加配置。4. 启动开发服务器
npm run start5. 部署到 Vercel
在 Vercel 中导入项目,并在环境配置中设置 .env 中的变量。
```### 📌 API 设计
```pnpm
# 遵从RESTful 风格
/ ---get
/api/users ---get post put delete
/db-version ---get
api/users/login ---post
/api/users/register ---post
/api/users/userInfo ---get
/api/users/deleteList ---get post put delete
/api/users/restore ---post# 状态
200 --成功
401 -- Unauthorized
403 -- 无权访问
404 -- 请求错误
409 -- 自定义错误状态
500 -- 服务错误
....
```### 🗂️ 数据库设计
### 用户表 (users)
| 字段名 | 类型 | 描述 |
| -------------- | -------------- | ------------|
| `uuid` | `UUID` | 主键 |
| `user_name` | `VARCHAR(255)` | 用户名 |
| `password` | `VARCHAR(255)` | 密码(加密) |
| `created_time` | `TIMESTAMP` | 创建时间 |
| `roles` | `JSONB` | 角色 |
| `......` | `......` | ..... |## 💕 感谢 Star
小项目获取 star 不易,如果你喜欢这个项目的话,欢迎支持一个 star!这是作者持续维护的唯一动力(小声:毕竟是免费的)