Module 04 · Final Project期末项目
Project Overview: Scenario and Review Criteria项目概述:场景与评审标准
项目概述
您将有机会在最终项目中实践并运用您的技能、知识和能力,通过开发在线书评应用程序来使用 Node.JS 和 Express.JS。
最终项目场景
在这个项目中,您将扮演一名为在线书店工作的后端开发人员。您的任务是开发一个服务器端应用程序,用于存储、检索和管理书籍的评分和评论。
您的服务器端应用程序需要提供以下功能和能力,以便用户能够:
- 检索书店中所有可用书籍的列表
- 根据书籍的ISBN代码、作者姓名和标题搜索特定书籍并检索其详细信息
- 检索指定书籍的评论/评价
- 注册为应用程序的新用户
- 登录应用程序
- 为书籍添加新评论(仅限已登录用户)
- 修改书籍评论(已登录用户只能修改自己的评论)
- 删除书籍评论(已登录用户只能删除自己的评论)
- (多个用户)同时访问应用程序以查看和管理不同的书籍评论
与大多数软件开发项目一样,团队中的不同人员负责应用程序的不同部分。您团队中的另一名前端开发人员正在开发一个基于Web的客户端应用程序,该应用程序将使用REST与您的服务器端应用程序进行通信。因此,您的工作是将服务器端应用程序实现为一个RESTful Web服务。您团队中的软件架构师已经使用Node.js和Express.js为您的服务器端应用程序编写了骨架代码。
为了完成项目,您将把骨架代码分叉到自己的代码库中,将其克隆到本地开发环境中,并进一步开发代码,以在您的Express服务器中实现上述列出的CRUD功能作为HTTP方法,并使用Postman进行测试。您还将实现Session和JWT身份验证,以允许仅已登录用户执行某些操作。供您参考,此应用程序预加载了所有书籍信息。
此外,您还需要使用Promises、Callbacks或Async/Await函数增强您的代码,以允许多个用户同时与应用程序交互,而无需等待彼此的操作完成。
评估标准 – 总分30分
请根据实验说明为每个特定任务拍摄相应的截图,以便进行同伴评审。与你在同一学期完成课程的同学将对该项目进行评分。该项目占你最终成绩的30分,权重如下:
普通用户
任务 1:获取商店中可用的书籍列表。- 2 分
任务 2:根据 ISBN 获取书籍。- 2 分
任务 3:获取作者的所有书籍。- 2 分
任务 4:根据标题获取所有书籍。- 2 分
任务 5:获取书籍评论。- 2 分
任务 6:注册新用户 – 3 分
任务 7:以注册用户身份登录 - 3 分
注册用户
任务 8:添加/修改书评。 - 2 分
任务 9:删除该用户添加的书评 - 2 分
Node.JS 程序包含 4 个方法
在 Node.js 中对所有四个方法使用 Async/Await 或 Promises 与 Axios。
任务 10:获取所有书籍 – 使用 async 回调函数 – 2 分
任务 11:通过 ISBN 搜索 – 使用 Promises – 2 分
任务 12:通过作者搜索 – 2 分
任务 13:通过标题搜索 - 2 分
任务 14:提交项目 GitHub 链接 - 2 分
下一步
在开始逐步说明之前,请务必阅读概述。