# ayong_blog_service **Repository Path**: qinzhiyong2/ayong_blog_service ## Basic Information - **Project Name**: ayong_blog_service - **Description**: ayong个人博客网站后端服务,Node.js 开发,实现了登录、发表文章、评论等功能。项目使用了 express 框架的 Router 进行路由管理,MongoDB 作为数据库存储文章数据。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-05 - **Last Updated**: 2025-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ayong 个人博客 ## 项目介绍 ayong 的个人博客网站后端服务,Node.js 开发,实现了登录、发表文章、评论等功能。项目使用了 express 框架的 Router 进行路由管理,MongoDB 作为数据库存储文章数据。 ## 技术栈 - 后端:Node.js、TypeScript、Express、Mongoose、Redis 等 - 数据库:MongoDB ## 功能介绍 - 用户注册、登录、退出登录 - 发表文章、编辑文章、删除文章(管理员) - 文章评论、回复评论 - 文章分类、标签管理 - 文章搜索、分页显示 ## 开发环境 - Node.js v22.12.0 - MongoDB v5.0.14 - Redis v7.2.5 - pnpm v8.15.19 ## 安装与运行 1. 克隆项目到本地 ``` git clone https://gitee.com/qinzhiyong2/ayong_blog_service.git ``` 2. 安装依赖 ``` pnpm i ``` 3. 本地启动 ``` pnpm dev ``` 4. 启动服务 ``` pnpm start ``` ## 项目结构 ``` ├── ayong_blog_service # 项目名称 │ ├── public/ # 静态资源目录 │ │ ├── uploads # 上传文件存储文件夹 │ ├── src/ # 源代码目录 │ │ ├── controller # 控制层 │ │ ├── config # 配置文件 db、redis │ │ ├── middleware # 中间件 │ │ ├── model # 模型层 │ │ ├── routes # 路由层 │ │ ├── types # TS类型定义 │ │ ├── utils # 工具函数 │ │ ├── app.ts # 入口文件 │ │ ├── server.ts # 服务启动文件 | ├── .env # 环境变量配置文件 │ ├── .gitignore # Git忽略文件 │ ├── package.json # 项目依赖配置文件 | ├── pnpm-lock.yaml # pnpm锁依赖版本文件 │ ├── README.md # 项目说明文档 │ ├── tsconfig.json # TypeScript配置文件 ``` ## 项目依赖-生产 | 依赖名称 | 版本号 | 说明 | | ----------------- | ------- | ---------------------------- | | dotenv | ^17.2.1 | 环境变量工具 | | express | ^5.1.0 | Web 应用框架 | | mongoose | ^8.18.0 | MongoDB 对象模型工具 | | redis | ^5.8.2 | Redis 客户端 | | ioredis | ^5.7.0 | Redis 对象模型工具 | | jsonwebtoken | ^9.0.2 | token 令牌工具 | | md5 | ^2.3.0 | 加密工具 | | moment | ^2.30.1 | 时间转换工具 | | multer | ^2.0.2 | 文件上传中间件 | | uuid | ^13.0.0 | 生成唯一 uid 工具 | | svg-captcha | ^1.4.0 | 图形码生成工具 | | express-validator | ^7.2.1 | express 的请求验证中间件集合 | ## 项目依赖-开发 | 依赖名称 | 版本号 | 说明 | | ------------------- | -------- | --------------------- | | @types/express | ^5.0.3 | Express 类型定义 | | @types/jsonwebtoken | ^9.0.10 | JsonWebToken 类型定义 | | @types/md5 | ^2.3.5 | Md5 类型定义 | | @types/moment | ^2.13.0 | Moment 类型定义 | | @types/mongoose | ^5.11.97 | Mongoose 类型定义 | | @types/multer | ^2.0.0 | Multer 类型定义 | | @types/node | ^24.3.0 | Node.js 类型定义 | | @types/redis | ^4.0.11 | Redis 类型定义 | | @types/uuid | ^10.0.0 | uuid 类型定义 | | nodemon | ^3.1.10 | 开发环境热重载工具 | | ts-node | ^10.9.2 | TypeScript 运行时 | | typescript | ^5.9.2 | TypeScript 编译器 | ## 注意事项 - 请确保本地已安装 Node.js 和 MongoDB,并启动 MongoDB 服务、Redis 服务。 - 项目中的 `.env` 文件需要根据实际情况进行配置,包括数据库连接信息、Redis 连接信息等。 - 项目中的 `src/config/db.ts` 文件中定义了数据库连接的配置,可以根据实际情况进行修改。 - 项目中的 `src/config/redis.ts` 文件中定义了 Redis 连接的配置,可以根据实际情况进行修改。 - 根目录下的 public 文件夹为静态资源文件夹,使用 git 忽略了 uploads 文件夹,自己创建一下 uploads 文件夹存储文件。 ## 联系方式 - QQ:1355918353 - 邮箱:my1355918353@163.com - Gitee:https://gitee.com/qinzhiyong2