- 后端: libook (django)
- 前端: booklib (React)
后端使用 Python django 框架编写,使用 pipenv 管理依赖。您需要先安装 pipenv,而后才能启动。
pip3 install pipenv
pipenv install --dev
make migrate # 创建数据库
make run.backend
- 启动后,在 http://127.0.0.1:8000/api/schema/swagger-ui/ 可以看到后端暴露的所有 API。
- 访问 http://127.0.0.1:8000/api/ 可以向后端发送请求。
- 运行
make createsuperuser
后,即可使用 Django 管理后台。 http://127.0.0.1:8000/admin/
前端使用 React 框架编写,使用 yarn 管理依赖。您需要先安装 Node.js 和 yarn,而后才能启动。
npm i -g yarn
cd booklib
yarn
yarn start
启动后,在 http://127.0.0.1:3000/ 即可使用前端。
pipenv run python manage.py fill_timeslice
pipenv run python manage.py fill_region
git checkout master && git pull && make migrate
保证目前代码为最新版本,并更新本地数据库 schema。git checkout -b your-name/your-feature-name
创建一个新分支。- 对代码做修改。
- 如果更改了数据库 model,运行
make makemigrations && make migrate
更新相关文件。 - 编写测试。可以配置 VSCode 的 Python 使用 pipenv 的 Python,并配置 Python Test 插件使用 pytest。在侧边栏即可查看所有测试的情况。
make test.backend
可以手动跑测试。 - 更新文档。大部分 API 可以自动生成文档,有一些可能要自己声明。在 Swagger 中可以查看自动生成的 API 文档。
make format.backend
格式化代码。- 发 PR。CI 测试通过即可自己 Squash and Merge。Merge 时需要填写格式正确的 commit 标题。如果有不确定的地方,可以请求其他人 review。
git checkout master && git pull && make migrate
保证目前代码为最新版本,并更新本地数据库 schema。git checkout -b your-name/your-feature-name
创建一个新分支。make run.backend
运行后端。make run.frontend
运行前端,在浏览器页面中应当可以正常使用。- 对代码做修改。
make format.frontend
格式化代码。- 发 PR。CI 测试通过即可自己 Squash and Merge。Merge 时需要填写格式正确的 commit 标题。如果有不确定的地方,可以请求其他人 review。
Apache 2.0