# bookmanger **Repository Path**: two-less/bookmanger ## Basic Information - **Project Name**: bookmanger - **Description**: flask-restful API + SQLAlchemy2.0. 新手学习项目,欢迎一起交流留言 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-31 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图书管理系统 (Book Manager) 一个基于 Flask 和 SQLAlchemy 构建的图书管理系统,提供完整的图书 CRUD 操作 API。 ## 功能特性 - 📚 **图书管理**:支持图书的添加、查询、更新和删除 - 🔍 **多种查询方式**:支持按 ID、名称查询图书 - ⚙️ **多环境配置**:支持开发环境和生产环境配置 - 🏗️ **分层架构**:采用 MVC 分层设计,清晰的项目结构 ## 技术栈 - **后端框架**: Flask - **数据库**: SQLAlchemy ORM - **API 设计**: RESTful - **配置管理**: 支持开发/生产环境配置 ## 项目结构 ``` bookmanger/ ├── app/ │ ├── __init__.py # 应用工厂函数 │ ├── common/ │ │ ├── __init__.py # 配置加载器 │ │ └── congfig.py # 配置类定义 │ ├── moduls/ │ │ └── books_moduls.py # 图书数据模型 │ ├── resource/ │ │ ├── __init__.py # 路由注册 │ │ └── books_resource.py # REST API 资源 │ └── service/ │ ├── __init__.py │ └── book_service.py # 业务逻辑服务层 ├── run.py # 应用入口 └── requirements.txt # 依赖包列表 ``` ## 快速开始 ### 环境要求 - Python 3.x - Flask - Flask-SQLAlchemy ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 启动应用 ```bash python run.py ``` ### 配置说明 系统支持两种环境配置: - **开发环境 (DevConfig)**: 调试模式开启,详细错误信息 - **生产环境 (PrdConfig)**: 调试模式关闭,优化性能 ## API 文档 ### 获取图书列表 ```http GET /books ``` **响应示例:** ```json [ { "id": 1, "name": "Python编程", "author": "张三", "publisher": "出版社A" } ] ``` ### 获取单个图书 ```http GET /books/ ``` **参数:** - `book_id`: 图书 ID **响应示例:** ```json { "id": 1, "name": "Python编程", "author": "张三", "publisher": "出版社A" } ``` ### 添加图书 ```http POST /books ``` **请求体:** ```json { "name": "新书名", "author": "作者名", "publisher": "出版社" } ``` ### 更新图书 ```http PUT /books/ ``` **参数:** - `book_id`: 图书 ID **请求体:** ```json { "name": "更新后的书名", "author": "更新后的作者", "publisher": "更新后的出版社" } ``` ### 删除图书 ```http DELETE /books/ ``` **参数:** - `book_id`: 图书 ID ## 核心类说明 ### BooksModuls 图书数据模型,定义图书的数据结构。 ### BookService 图书业务逻辑服务层,提供: - `get_book_by_id()` - 根据 ID 获取图书 - `get_all_book()` - 获取所有图书 - `get_book_by_name()` - 根据名称搜索图书 - `add_books()` - 添加新图书 - `update_books()` - 更新图书信息 - `delete_book()` - 删除图书 ### BooksResource / BookListResource REST API 资源类,处理 HTTP 请求和响应。 ## 开发指南 ### 添加新功能 1. 在 `moduls/` 目录下创建新的数据模型 2. 在 `service/` 目录下创建对应的服务类 3. 在 `resource/` 目录下创建 API 资源类 4. 在 `api/__init__.py` 中注册新路由 ### 数据库操作 系统使用 SQLAlchemy ORM,通过 `db.Model` 定义数据模型,自动处理数据库 CRUD 操作。 ## License 本项目基于开源协议。