# 博客系统 基于 Node.js + Express + MongoDB + EJS 的博客系统。 ## 功能特性 - 用户注册和登录 - 博客文章管理 - 友情链接管理 - 响应式设计 - 管理员后台 ## 技术栈 - **后端**: Node.js + Express - **数据库**: MongoDB + Mongoose - **模板引擎**: EJS - **会话管理**: express-session + connect-mongo - **样式**: CSS3 + Grid布局 ## 项目结构 ``` ChenLilong_Blog/ ├── app.js # 主应用文件 ├── models/ # 数据模型 │ ├── Post.js # 博客文章模型 │ ├── User.js # 用户模型 │ ├── Link.js # 友情链接模型 │ └── ... ├── routes/ # 路由文件 │ ├── user/ # 用户相关路由 │ └── admin/ # 管理员路由 ├── views/ # 视图模板 │ ├── user/ # 用户页面 │ └── admin/ # 管理员页面 ├── middleware/ # 中间件 ├── db/ # 数据库相关 └── uploads/ # 上传文件 ``` ## 安装和运行 ### 1. 安装依赖 ```bash npm install ``` ### 2. 启动MongoDB数据库 双击运行 `数据库启动.bat` 或在命令行中运行: ```bash mongod --dbpath C:\data\db ``` ### 3. 初始化测试数据(可选) 双击运行 `初始化数据.bat` 或在命令行中运行: ```bash node db/init.js ``` ### 4. 启动应用 双击运行 `项目启动.bat` 或在命令行中运行: ```bash node app.js ``` ### 5. 访问应用 打开浏览器访问:http://localhost:3001 ## 首页功能 ### 左侧:博客文章列表 - 显示最新的10篇博客文章 - 每篇文章显示标题、作者、分类、发布时间 - 文章内容预览(限制150字符) - 阅读全文链接 ### 右侧:友情链接 - 显示所有友情链接 - 点击链接在新标签页中打开 - 悬停效果和动画 ## 管理员功能 访问 http://localhost:3001/admin 进入管理员后台: - 用户管理 - 文章管理 - 分类管理 - 评论管理 - 友情链接管理 ## 数据库配置 默认数据库配置: - 数据库名:blog - 连接地址:mongodb://127.0.0.1:27017/blog ## 注意事项 1. 确保MongoDB已正确安装并运行 2. 首次运行建议先执行数据初始化脚本 3. 管理员账号需要在数据库中手动创建或通过注册功能创建 ![image-20250624113519953](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113519953.png) ![image-20250624113527404](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113527404.png) ![image-20250624113549797](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113549797.png) ![image-20250624113559568](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113559568.png) ![image-20250624113612329](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113612329.png) ![image-20250624113623177](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113623177.png) ![image-20250624113628972](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113628972.png) ![image-20250624113638050](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113638050.png) ![image-20250624113644382](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113644382.png) ![image-20250624113652652](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113652652.png) ![image-20250624113704419](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113704419.png) ![image-20250624113714538](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113714538.png)