Python 项目
项目的完成度事关训练营的考核, 决定了你是否能够加入奇点工作室! 请务必认真对待.
在暑训结束的时候, 我们会要求大家把自己的 Github 仓库链接公开在我们训练营仓库的一个 Issue 里, 以此作为评定的依据.
项目要求
实现一个社区交流平台 (类似贴吧) 的后端部分
编写符合 RESTful 风格, 以及合理 Flask 项目的接口代码
技术栈: Flask 2.3.2 + MySQL 8.0
我们不会过多地透露设计的细节, 目的是为了让大家参与进入设计的这一重要环节. 如果你对某个项目需求感到困惑, 大胆地提问. 我们会尽可能地将文档完善, 以帮助大家完成初次的 Flask 项目.
此外, 在编写接口代码的过程中, 你势必会感到阻力重重. 一部分原因是: 会有内容在我们本次的训练营中没有涵盖. 但这并不意味着你没有能力去写对应的部分.
设计数据库
设计以下几个表:
用户 users
下面是一些供参考的字段(类型大家自己去决定):
email, username, password, subscribed, created
评论 comments
content, user, created
吧 subvues
name, permalink, description, created, moderators(吧务)
帖子 posts
title, subvue, user, content, comments, created, image, upvotes, downvotes
接口开发
用户的注册和登录 (Hint: werkzeug.security
)
werkzeug.security
)POST /api/signup
POST /api/login
文章的CRUD
GET /api/posts 返回帖子主页
POST /api/posts 创建帖子
GET /api/posts/id/<string:id> 返回指定 id 的帖子
GET /api/posts/user/<string:username> 返回指定用户名的帖子
DELETE /api/posts/id/<string:id> 删除指定 id 的帖子
用户互动
POST /api/posts/<string:id>/comments 指定 id 帖子下创建评论
POST /api/posts/<string:id>/upvote 指定帖子下好评
POST /api/posts/<string:id>/downvote 指定帖子下差评
创建吧
GET /api/subvues/<string:permalink> 获取吧数据
GET /api/subvues/<string:permalink>/posts 获取某个吧下的帖子
POST /api/subvues 创建吧
POST /api/subvues/<string:permalink>/subscribe 订阅某个吧
POST /api/subvues/<string:permalink>/unsubscribe 不订阅某个吧
用户页面
GET /api/users/username
错误页面返回
页面未找到 404
内部服务器错误 500 405
请求实体过大(>= 1 MB)413
最后更新于