# lewis-blog **Repository Path**: cencus/lewis-blog ## Basic Information - **Project Name**: lewis-blog - **Description**: lewis-blog:个人技术博客,分享编程心得、项目经验及最新技术动态,适合开发者学习交流。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-16 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lewis Blog 一个现代化的全栈博客系统,采用前后端分离架构,提供完整的博客功能和管理后台。 ## 项目简介 Lewis Blog 是一个功能完善的个人博客系统,包含面向用户的前端展示页面和面向管理员的后台管理系统。项目采用 Spring Boot + React 的全栈架构,支持文章管理、用户管理、标签分类等核心功能。 ## 技术栈 ### 后端技术 - **Spring Boot 2.x** - 应用框架 - **MyBatis Plus** - ORM 持久层框架 - **MySQL 5.7+** - 主数据库 - **Maven** - 项目构建管理 ### 前端技术 - **React 18** - UI 框架 - **TypeScript** - 类型安全 - **UmiJS** - 企业级前端框架 - **Ant Design** - UI 组件库 - **Tailwind CSS** - 原子化 CSS ### 管理后台 - **React 18** - UI 框架 - **TypeScript** - 类型安全 - **UmiJS** - 企业级前端框架 - **Tailwind CSS** - 原子化 CSS ## 功能特性 ### 用户端功能 - 首页文章展示 - 文章详情阅读 - 文章归档 - 关于页面 - 用户登录注册 ### 管理后台功能 - 文章管理(增删改查) - 用户管理 - 数据统计 - 系统配置 ## 项目结构 ``` lewis-blog/ ├── backend/ # 后端服务 │ ├── src/main/java/ │ │ └── com/bestlewis/lewis_blog_backend/ │ │ ├── controller/ # 控制器层 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ └── config/ # 配置类 │ └── src/main/resources/ # 配置文件 │ ├── frontend/ # 前端展示页面 │ ├── src/ │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 布局组件 │ │ ├── pages/ # 页面组件 │ │ ├── hooks/ # 自定义 Hooks │ │ ├── utils/ # 工具函数 │ │ └── types/ # 类型定义 │ └── public/ # 静态资源 │ └── blog-manager/ # 管理后台 ├── src/ │ ├── components/ # 公共组件 │ ├── layouts/ # 布局组件 │ ├── pages/ # 页面组件 │ └── utils/ # 工具函数 └── public/ # 静态资源 ``` ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ - Node.js 16+ - pnpm 7+ ### 后端配置 1. 创建数据库并导入初始化脚本 ```sql CREATE DATABASE lewis_blog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql -u root -p lewis_blog < backend/init_db.sql ``` 2. 修改数据库配置 编辑 `backend/src/main/resources/application.properties`,配置数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/lewis_blog spring.datasource.username=root spring.datasource.password=your_password ``` 3. 启动后端服务 ```bash cd backend ./mvnw spring-boot:run ``` 后端服务将在 `http://localhost:8080` 启动。 ### 前端配置 1. 安装依赖 ```bash cd frontend pnpm install ``` 2. 启动开发服务器 ```bash pnpm start ``` 前端应用将在 `http://localhost:8000` 启动。 ### 管理后台配置 1. 安装依赖 ```bash cd blog-manager pnpm install ``` 2. 启动开发服务器 ```bash pnpm start ``` 管理后台将在 `http://localhost:8001` 启动。 ## API 文档 ### 文章接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/articles | 获取所有文章 | | GET | /api/articles/{id} | 获取文章详情 | | POST | /api/articles | 创建文章 | | DELETE | /api/articles/{id} | 删除文章 | | GET | /api/articles/author/{authorId} | 获取作者文章 | ### 用户接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/users | 获取所有用户 | | GET | /api/users/{id} | 获取用户详情 | | GET | /api/users/username/{username} | 根据用户名获取用户 | | GET | /api/users/email/{email} | 根据邮箱获取用户 | | POST | /api/users | 创建用户 | | PUT | /api/users | 更新用户 | | DELETE | /api/users/{id} | 删除用户 | ## 构建部署 ### 后端打包 ```bash cd backend ./mvnw clean package -DskipTests ``` 生成的 JAR 文件位于 `backend/target/lewis-blog-backend.jar`。 ### 前端构建 ```bash cd frontend pnpm build ``` 构建产物位于 `frontend/dist/` 目录。 ### 管理后台构建 ```bash cd blog-manager pnpm build ``` 构建产物位于 `blog-manager/dist/` 目录。 ## 配置说明 ### 后端配置 所有配置项位于 `backend/src/main/resources/application.properties`: | 配置项 | 说明 | 默认值 | |--------|------|--------| | server.port | 服务端口 | 8080 | | spring.datasource.* | 数据库连接配置 | - | | mybatis-plus.mapper-locations | Mapper XML 文件位置 | classpath*:/mapper/**/*.xml | ### 前端配置 前端配置位于 `frontend/src/utils/config.ts`,可配置 API 地址、站点标题等参数。 ## 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。 ## 联系方式 - 项目地址:https://gitee.com/cencus/lewis-blog - 问题反馈:https://gitee.com/cencus/lewis-blog/issues ## 致谢 感谢所有为这个项目做出贡献的人!