No Description

xjc 366a360455 update 2 years ago
admin 366a360455 update 2 years ago
alembic 56aa49a2a3 fix:优化表结构 2 years ago
app 366a360455 update 2 years ago
auth 67bf26b73c fix:修复教师端各种问题 2 years ago
bgtask 5783679496 rec paper done 2 years ago
common 3f0c205729 fix:修复一些已知bug 2 years ago
core 13111c944d fix:清理代码 3 years ago
crud 2c96f9026a update 2 years ago
db 2fba02e6a5 fix:修复依赖版本问题 2 years ago
models 366a360455 update 2 years ago
resource 57432e09fb update 2 years ago
schemas 366a360455 update 2 years ago
scripts 1da8ddb407 feat:init 3 years ago
tests c6bffdfb0a fix:修复班级管理 3 years ago
utils 366a360455 update 2 years ago
.dockerignore 1da8ddb407 feat:init 3 years ago
.env 1f5f415b3e update 3 years ago
.gitignore a2d1b31bbc fix:添加分类批量导入模版 3 years ago
.style.yapf 10546951ce style:修改样式 3 years ago
Dockerfile 1da8ddb407 feat:init 3 years ago
README.md 731ee9bd4e feat:优化工程文件结构,添加权限管理等功能 3 years ago
cli.py 9a7d7e2e99 fix:修复一些已知bug 2 years ago
docker-compose.yml 1da8ddb407 feat:init 3 years ago
main.py 556b16acf1 资源与阅卷任务表 3 years ago
prestart.sh 1da8ddb407 feat:init 3 years ago
requirements.txt 2db8cb0dee fix:修复bug并优化sql 2 years ago

README.md

师说365

代码工程结构

├── admin           # 后台管理,包括:学校管理、批阅管理、资源管理、财务管理、系统管理
│   ├── api     # API接口包
│   |   ├── endpoints           # Endpoints
│   |   |   ├── finance       # 财务管理
│   |   |   ├── resource      # 资源管理
│   |   |   ├── review        # 批阅管理
│   |   |   ├── school        # 学校管理
│   |   |   └── sysdata        # 系统管理
│   |   └── router.py       # 路由 
│   └── schemas                      # 序列化格式包
├── alembic                                # 表结构同步迁移
│   ├── versions                     # 表结构版本文件
│   └── env.py                       # 配置文件
├── app                                    # 前台业务
│   ├── api                          # API接口
│   |   ├── endpoints                  # Endpoints
│   |   |   ├── exam          # 考试中心
│   |   |   ├── problem       # 错题中心
│   |   |   ├── resource      # 资源中心
│   |   |   ├── review        # 批阅中心
│   |   |   ├── school_assignment        # 作业中心
│   |   |   ├── teacher        # 教师信息
│   |   |   └── student        # 学生信息
│   |   └── router.py      # 路由
│   └── schemas                      # 序列化格式包
├── auth                                   # 登录认证
│   ├── endpoints                    # API接口
│   |   └── login.py        # 登录
├── bgtask                                 # 后台任务
├── core                                   # 配置、安全等
│   ├── config                       # 配置文件等
│   ├── exceptions.py                # 自定义异常
│   ├── middlewares.py               # 自定义中间件
│   ├── security.py                  # 加解密方法
│   └── server.py                    # APP工厂
├── crud                                   # 增删改查
│   ├── app                          # 前端服务CRUD
│   ├── school                       # 学校管理CRUD
│   ├── sysdata                      # 系统管理CRUD
│   ├── user                         # 用户管理CRUD
│   ├── base.py                      # 增删改查父类
│   └── utils.py                     # 通用方法
├── db                                     # 数据库
│   ├── alembic.py                   # 表结构同步
│   ├── asyncredis.py                # Redis连接 - 异步
│   ├── asyncsession.py              # 数据库连接 - 异步
│   ├── base.py                      # 模型Base方法
│   └── syncsession.py               # 数据库连接 - 同步
├── models                                 # ORM模型
│   ├── sysdata                      # 系统数据
│   ├── school.py                    # 学校ORM
│   └── user.py                      # 用户ORM
├── resource                               # 资源
│   ├── casbin_model.conf            # Casbin模型文件
│   ├── casbin_model_v2.conf         # Casbin模型文件,本系统使用
│   ├── class_import_template.csv    # 班级导入模版文件
│   └── *.sql                        # 初始数据sql
├── schemas                                # 序列化
│   ├── school                       # 学校
│   ├── sysdata                      # 系统数据
│   ├── auth.py                      # token
│   └── base.py                      # 基础类
├── scripts                     # 脚本
├── tests                       # 单元测试
├── utils                       # 通用工具包
│   └── depends.py        # 通用依赖注入
├── .dockerignore
├── .env                        # 环境变量文件
├── .gitignore
├── .style.yapf                 # 代码格式化文件
├── alembic.ini                 # alembic配置文件
├── docker-compose.yml          # docker-compose配置文件
├── Dockerfile                  # Dockerfile文件
├── init_db.py                  # 初始化用户脚本
├── main.py                     # 主程序入口
├── prestart.sh                 # 启动前执行shell脚本
├── README.md
└── requirements.txt            # 第三方依赖

如何启动

  • 使用 pip 安装依赖包

pip install -r requirements.txt

  • 修改 core/config/development.py文件中数据库连接以及初始化用户的用户名和密码
# mysql
MYSQL_USER: str = "shishuo"
MYSQL_PASSWORD: str = "shishuo"
MYSQL_DATABASE: str = "shishuo"
MYSQL_HOST: str = "127.0.0.1"
MYSQL_PORT: int = 3306

# init admin
FIRST_USERNAME = "admin"
FIRST_PASSWORD = "12345678"
  • 执行初始化 管理员 / 用户/ 登录权限 脚本

python init_db.py

  • 启动服务

uvicorn main:app

打开浏览器,访问 http://localhost:8000/docs 即可看到接口文档。