update task00 doc and remove python version check in pipenv
This commit is contained in:
parent
81f52d501d
commit
07a21bb6d7
55
README.md
55
README.md
|
@ -28,21 +28,54 @@ BlueWhale设计课程是datawhale项目开发团队,基于datawhale社区成
|
|||
|
||||
- 组队、修改群昵称
|
||||
- 熟悉打卡规则
|
||||
- 熟悉REST风格系统
|
||||
- 熟悉OpenAPI规范
|
||||
- 了解Django框架
|
||||
- 了解Vue.js框架
|
||||
- 独立完成数据库安装
|
||||
- 独立完成代码运营
|
||||
- 初步了解代码结构
|
||||
|
||||
### Task01:加入开发项目组和搭建编码环境(2天)
|
||||
-
|
||||
### Task02:熟悉datawhale需求和技术架构(2天)
|
||||
-
|
||||
### Task03:认领datawhale任务和设计编码(7天)
|
||||
-
|
||||
### Task04:前后端对接联调和单元测试(2天)
|
||||
-
|
||||
### Task05:datawhale迭代测试和发布(1天)
|
||||
-
|
||||
### Task01:熟悉后端代码结构及OpenAPI文档编写(2天)
|
||||
|
||||
- 后端代码目录结构
|
||||
- 后端RESTful API URL定义
|
||||
- 查看已实现的接口及内容
|
||||
- 使用[swagger-editor](https://github.com/swagger-api/swagger-editor)编辑接口文档并补充遗漏的接口
|
||||
|
||||
### Task02:熟悉datawhale需求及编写新API文档(2天)
|
||||
|
||||
- 熟悉用户及权限管理需求
|
||||
- 设计用户及权限管理相关RESTful API
|
||||
- 补充[openapi.yaml](./openapi.yaml)并添加用户及权限管理相关入口
|
||||
- 熟悉赛事管理需求
|
||||
- 设计赛事管理相关RESTful API
|
||||
- 补充[openapi.yaml](./openapi.yaml)并添加赛事管理相关入口
|
||||
|
||||
### Task03:熟悉首页需求并使用Vue实现首页功能(2天)
|
||||
|
||||
- 前端代码目录结构
|
||||
- `vue-router`简介
|
||||
- `vuex`状态管理
|
||||
- 熟悉`vuetify` material design组件库并使用
|
||||
- 基于交互图实现首页功能
|
||||
|
||||
### Task04:开发用户管理后端及前端(4天)
|
||||
|
||||
- [后端]修改已有Model并添加用户属性
|
||||
- [后端]实现对应序列化类及View
|
||||
- [后端]创建URL与View的映射
|
||||
- [前端]创建用户列表页及用户详情页
|
||||
- [前端]创建用户列表路由及用户详情路由
|
||||
- 线上环境部署及集成测试
|
||||
|
||||
### Task04:开发赛事管理后端及前端(4天)
|
||||
|
||||
- [后端]修改已有Model并添加用户属性
|
||||
- [后端]实现对应序列化类及View
|
||||
- [后端]创建URL与View的映射
|
||||
- [前端]创建用户列表页及用户详情页
|
||||
- [前端]创建用户列表路由及用户详情路由
|
||||
- 线上环境部署及集成测试
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
|
|
|
@ -13,6 +13,3 @@ itsdangerous = "*"
|
|||
|
||||
[dev-packages]
|
||||
pycodestyle = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.8"
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "d2b8551f45b46a39a398a37c34d445febfb8f5c0a693600b0f53e2baf8d55454"
|
||||
"sha256": "a96628ee8ece0c3f5f8c44fb748f5c11e7fbe3445163718c4c928cf0705717b9"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
"python_version": "3.8"
|
||||
},
|
||||
"requires": {},
|
||||
"sources": [
|
||||
{
|
||||
"name": "pypi",
|
||||
|
@ -18,19 +16,19 @@
|
|||
"default": {
|
||||
"asgiref": {
|
||||
"hashes": [
|
||||
"sha256:5ee950735509d04eb673bd7f7120f8fa1c9e2df495394992c73234d526907e17",
|
||||
"sha256:7162a3cb30ab0609f1a4c95938fd73e8604f63bdba516a7f7d64b83ff09478f0"
|
||||
"sha256:92906c611ce6c967347bbfea733f13d6313901d54dcca88195eaeb52b2a8e8ee",
|
||||
"sha256:d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==3.3.1"
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==3.3.4"
|
||||
},
|
||||
"django": {
|
||||
"hashes": [
|
||||
"sha256:169e2e7b4839a7910b393eec127fd7cbae62e80fa55f89c6510426abf673fe5f",
|
||||
"sha256:c6c0462b8b361f8691171af1fb87eceb4442da28477e12200c40420176206ba7"
|
||||
"sha256:0604e84c4fb698a5e53e5857b5aea945b2f19a18f25f10b8748dbdf935788927",
|
||||
"sha256:21f0f9643722675976004eb683c55d33c05486f94506672df3d6a141546f389d"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.1.6"
|
||||
"version": "==3.2"
|
||||
},
|
||||
"django-rest-auth": {
|
||||
"hashes": [
|
||||
|
@ -41,11 +39,11 @@
|
|||
},
|
||||
"djangorestframework": {
|
||||
"hashes": [
|
||||
"sha256:0209bafcb7b5010fdfec784034f059d512256424de2a0f084cb82b096d6dd6a7",
|
||||
"sha256:0898182b4737a7b584a2c73735d89816343369f259fea932d90dc78e35d8ac33"
|
||||
"sha256:6d1d59f623a5ad0509fe0d6bfe93cbdfe17b8116ebc8eda86d45f6e16e819aaf",
|
||||
"sha256:f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.12.2"
|
||||
"version": "==3.12.4"
|
||||
},
|
||||
"itsdangerous": {
|
||||
"hashes": [
|
||||
|
@ -98,11 +96,11 @@
|
|||
"develop": {
|
||||
"pycodestyle": {
|
||||
"hashes": [
|
||||
"sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367",
|
||||
"sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"
|
||||
"sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068",
|
||||
"sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.6.0"
|
||||
"version": "==2.7.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 288 KiB |
Binary file not shown.
Before Width: | Height: | Size: 129 KiB |
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
Binary file not shown.
After Width: | Height: | Size: 164 KiB |
Binary file not shown.
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 99 KiB |
48
task00.md
48
task00.md
|
@ -1,5 +1,5 @@
|
|||
本期任务将简介在课程中涉及的各概念、工具及框架。最终通过[环境搭建](#环境搭建)您将能搭建基础的用于开发的环境
|
||||
并成功运行示例代码(本期任务假设你已了解数据库、Python、HTTP、HTML、CSS、JavaScript等知识)。
|
||||
并成功运行示例代码(本期任务假设你已了解数据库、Python、HTTP、HTML、CSS、JavaScript、git等知识)。
|
||||
|
||||
# REST简介
|
||||
|
||||
|
@ -128,27 +128,32 @@ var app = new Vue({
|
|||
|
||||
# 环境搭建
|
||||
|
||||
组队完成后,由队长创建Github新的组织并将团队成员加至组织,然后将代码fork至组织仓库。
|
||||
团队成员clone fork后的仓库,如(请替换自己的组织名称):
|
||||
|
||||
`git clone git@github.com:whale-web-team00/whale-web.git`
|
||||
|
||||
## 数据库
|
||||
|
||||
本课程将使用[MariaDB](https://mariadb.org/)作为数据库(MariaDB是MySQL的分支)
|
||||
本课程将使用[MySQL](https://www.mysql.com/)作为数据库
|
||||
|
||||
### 安装数据库
|
||||
|
||||
(如果你系统中已安装MySQL或MariaDB数据库,可跳过该步骤)
|
||||
(如果你系统中已安装MySQL数据库,可跳过该步骤)
|
||||
|
||||
* Mac (具体步骤请参考[官方博客](https://mariadb.com/resources/blog/installing-mariadb-10-1-16-on-mac-os-x-with-homebrew/))
|
||||
- 安装:`brew install mariadb`(前置条件为系统中已经安装brew工具)
|
||||
- 初始化基础数据库:`mysql_install_db`
|
||||
- 启动数据库服务:`brew services start mariadb`
|
||||
- 初始化安全选项:`mariadb-secure-installation`
|
||||
* Windows: 从官网下载安装包并安装[https://mariadb.org/download/](https://mariadb.org/download/)
|
||||
* Linux
|
||||
- Ububtu/Debian: `sudo apt install mariadb-server`
|
||||
- CentOS/Redhat: `sudo yum install MariaDB-server MariaDB-client`
|
||||
* Mac (图形界面)
|
||||
- 从官网下载DMG安装包[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/)
|
||||
- 双击并按提示安装
|
||||
- 安装完成后,在系统设置最后能够找到MySQL的服务,如下所示
|
||||

|
||||
|
||||
## 初始化数据库
|
||||
* Windows:
|
||||
- 从官网下载MySQL Install for Windows安装包[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/)
|
||||
- 双击并按提示安装
|
||||
|
||||
通过root用户连接数据库`mariadb -u root -p`,在SQL终端,运行下列SQL语句:
|
||||
### 初始化数据库
|
||||
|
||||
通过root用户连接数据库`/usr/local/mysql/bin/mysql -u root -p`,在SQL终端,运行下列SQL语句:
|
||||
|
||||
```sql
|
||||
-- 创建bluewhale用户
|
||||
|
@ -164,24 +169,25 @@ GRANT ALL PRIVILEGES ON bluewhale.* TO 'bluewhale'@'localhost';
|
|||
FLUSH PRIVILEGES;
|
||||
```
|
||||
|
||||
断开连接后,使用新用户连接新数据库`mariadb -u bluewhale -p bluewhale`,你将看到连接成功的信息:
|
||||
断开连接后,使用新用户连接新数据库`/usr/local/mysql/bin/mysql -u bluewhale -p bluewhale`,你将看到连接成功的信息:
|
||||
|
||||

|
||||

|
||||
|
||||
## 后端服务
|
||||
|
||||
本课程使用Python作为后端开发语言,使用Django作为后端框架,使用[pipenv](https://github.com/pypa/pipenv)
|
||||
作为Python的依赖管理工具。
|
||||
|
||||
* 安装Python3.8:如已有Python3.8环境,可跳过此步骤;如有其他版本,可以使用Conda进行安装管理,参见
|
||||
[Conda文档](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html)
|
||||
* 安装pipenv: `pip install --user pipenv`
|
||||
* 安装Python3.8:如已有Python3.8环境,可跳过此步骤
|
||||
* 安装pipenv: `pip install pipenv`
|
||||
* 安装Python依赖包:
|
||||
- 进入子目录: `cd <ROOT REPO FOLDER>/bluewhale`
|
||||
- 进入clone下来的项目目录,进入子目录: `cd bluewhale`
|
||||
- 同步依赖包: `pipenv sync`
|
||||
* 初始化数据表并创建初始用户:
|
||||
- 激活virtualenv: `pipenv shell` (如果已经在conda或其他virtualenv环境中,需要先deactivate)
|
||||
- 初始化数据表:`python manage.py migrate`
|
||||

|
||||
|
||||
- 初始化超级管理员用户:`python manage.py createsuperuser`
|
||||
* 启动后端服务:`python manage.py runserver`
|
||||
|
||||
|
@ -198,7 +204,7 @@ FLUSH PRIVILEGES;
|
|||
* 安装Node.js 版本14 [https://nodejs.org/en/download/](https://nodejs.org/en/download/)。
|
||||
如已安装其他版本Node.js,可以使用[nvm](https://github.com/nvm-sh/nvm)进行多版本管理
|
||||
* 安装前端依赖包:
|
||||
- 进入子目录:`cd <ROOT REPO FOLDER>/client`
|
||||
- 进入clone下来的项目目录,进入子目录:`cd client`
|
||||
- 同步依赖包:`npm install`
|
||||
* 启动前端:`npm run serve`
|
||||
|
||||
|
|
Loading…
Reference in New Issue