---
id: 587d824a367417b2b2512c43
title: Personal Library
challengeType: 4
isRequired: true
videoUrl: ''
localeTitle: 个人图书馆
---

## Description
<section id="description">构建一个功能类似于此的完整堆栈JavaScript应用程序： <a href="https://spark-cathedral.glitch.me/" target="_blank">https</a> ： <a href="https://spark-cathedral.glitch.me/" target="_blank">//spark-cathedral.glitch.me/</a> 。在这个项目上工作将涉及您在我们的入门项目上在Glitch上编写代码。完成此项目后，您可以将公共故障网址（到应用程序的主页）复制到此屏幕进行测试！您可以选择在另一个平台上编写项目，但必须公开显示我们的测试。使用<a href="https://glitch.com/#!/import/github/freeCodeCamp/boilerplate-project-library/">此链接</a>在Glitch上启动此项目或在GitHub上克隆<a href="https://github.com/freeCodeCamp/boilerplate-project-library/">此存储库</a> ！如果您使用Glitch，请记住将项目链接保存到安全的地方！ </section>

## Instructions
<section id="instructions">
</section>

## Tests
<section id='tests'>

```yml
tests:
  - text: 我的网站上的任何内容都不会缓存在我的客户端中。
    testString: ''
  - text: 标题会说该网站由'PHP 4.2.0'提供支持，即使它不是（作为安全措施）。
    testString: ''
  - text: 我可以将标题发布到/ api / books以添加书籍，并返回将是具有标题和唯一_id的对象。
    testString: ''
  - text: 我可以获取/ api / books来检索包含title，_id和commentcount的所有书籍的数组。
    testString: ''
  - text: '我可以使用/ api / books / {id}来检索包含_title，_id和注释数组的书的单个对象（如果没有注释，则为空数组）。'
    testString: ''
  - text: '我可以在/ api / books / {id}上发表评论，为书籍添加评论，并返回类似于get / api / books / {id}的书籍对象，包括新评论。'
    testString: ''
  - text: '我可以删除/ api / books / {_ id}从集合中删除一本书。如果成功，返回将“删除成功”。'
    testString: ''
  - text: 如果我试图要求一本不存在的书，我将被退回'没有书存在'。
    testString: ''
  - text: 我可以向/ api / books发送删除请求以删除数据库中的所有书籍。如果成功，返回将是“完全删除成功”。
    testString: ''
  - text: 所有6项功能测试都是完整的并且通过。
    testString: ''

```

</section>

## Challenge Seed
<section id='challengeSeed'>

</section>

## Solution
<section id='solution'>

```js
// solution required
```
</section>
