Skip to content

Gavin0x0/DP_Library_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DP-Library后端部分

基于Vue3.0+Eelement-Plus+FastAPI+MongoDB的前后端分离的图书管理项目「后端部分」

开发环境

开发环境配置「插件推荐」

  • 中文插件
  • image.png
  • 代码高亮
  • image.png
  • 代码格式化
  • image.png

运行环境

  • python 3.8.5
  • mongodb「需要新建名为DPLibrary的数据库」

从零开始

  • 安装Python 下载传送门🚪
  • 命令行「VS code内终端」运行python -V,出现版本号「如下图」则可以进行下一步
  • image.png
  • 检查pip是否正常可用,运行pip -V,出现版本号「如下图」则可以进行下一步
  • image.png
  • 如果没有pip自行百度安装,直接用anaconda也可以
  • 安装MongoDB数据库 安装教程传送门🚪
  • 安装Navicat数据库可视化管理工具「非必须」

配置数据库

  • 用Navicat连接到本地的MongoDB
  • 创建名为 「DPLibrary」的数据库
  • image.png
  • 数据库内创建一个集合Collection,使得数据库生效

配置pip镜像

将本项目clone到本地

  • 不会用git也可以直接下载压缩包
  • image.png

用VS code打开项目文件夹

  • ‼️ 重要,确保正确打开项目
  • VS code是以文件夹作为项目的,打开错层级就不能启动项目

安装依赖

  • VS code内终端输入
pip install -r requirements.txt

检查数据库连通性

  • VS code内终端输入
python dbtest.py
  • 输出的数据库里面包含有刚刚创建的 DPLibrary 就可以
  • image.png

启动方式

  • VS code内终端输入
python run.py
  • 如下图则后端启动成功
  • image.png

That's ALL 🎉

简要说明

  • main.py 主要代码文件,API接口都写在里面「目前」
  • models.py 实体类模型,因为MongoDB的数据结构,需要为其定制特殊的实体类「说实话还没搞太懂」
  • dbtest.py 用于数据库连接检测,直接运行该文件,输出系统内全部数据库「如下图」则说明连接成功
    image.png

特色功能

  • FastAPI会自动生成接口文档,可以直接测试接口,这个功能绝了👍
  • 进入方式:在启动的地址后面加上 /docs
  • image.png

更多资料

接口权鉴方面

数据库设计方面

  • 「范式与反范式」
  • 「MongoDB模式设计」
  • 关系模型和文档模型的区别在哪里?
    关系模型需要你把一个数据对象,拆分成零部件,然后存到各个相应的表里,需要的是最后把它拼起来。举例子来说,假设我们要做一个CRM应用,那么要管理客户的基本信息,包括客户名字、地址、电话等。由于每个客户可能有多个电话,那么按照第三范式,我们会把电话号码用单独的一个表来存储,并在显示客户信息的时候通过关联把需要的信息取回来。 而MongoDB的文档模式,与这个模式大不相同。由于我们的存储单位是一个文档,可以支持数组和嵌套文档,所以很多时候你直接用一个这样的文档就可以涵盖这个客户相关的所有个人信息。关系型数据库的关联功能不一定就是它的优势,而是它能够工作的必要条件。 而在MongoDB里面,利用富文档的性质,很多时候,关联是个伪需求,可以通过合理建模来避免做关联。

开发规范

  • 接口说明要写清楚
  • 各接口需要层级分明,满足高内聚、低耦合的要求

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages