💻
奇点工作室 - 后端文档
  • 写在前面
    • 训练营说明
    • 求生手册
  • 第一周 Git/基础拾遗
    • 版本控制系统 Git
      • Git 底层原理
      • Git 的接口
      • Git 工作流
    • Python 里技
    • Java 进阶
      • 面向对象
      • 泛型
      • 反射
      • 注解
    • 作业
  • 第二周 框架初识
    • Flask 入门
    • springboot 入门
  • 第三周 数据库交互
    • MySQL速览
    • Flask SQLAlchemy
    • Springboot JPA
  • 重要:项目布置
    • Python 项目
    • java 项目
  • 第四周 框架进阶
    • Flask 进阶
  • 第五周 项目部署
    • Linux 操作
    • 服务器部署
  • SWUFE-OJ
    • 说明
    • 用户模块
由 GitBook 提供支持
在本页
  • 项目要求
  • 设计数据库
  • 接口开发
  • 用户的注册和登录 (Hint: werkzeug.security)
  • 文章的CRUD
  • 用户互动
  • 创建吧
  • 用户页面
  • 错误页面返回

这有帮助吗?

在GitHub上编辑
  1. 重要:项目布置

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)

  • 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

上一页Springboot JPA下一页java 项目

最后更新于1年前

这有帮助吗?