Personal Library Project with testable user stories - Guinea Pigs needed 🐹

This project will be part of our new Quality Assurance and Information Security section. It was designed by @JosephLivengood.

The goal is for campers to be able to build these projects step by step following user stories. This will make the projects less intimidating and more fun. Oh, and don’t worry - we’ll still have plenty of optional projects where we don’t provide you with any tests. And if you’ve previously built these projects, you don’t need to build them again.

If you’re interested in attempting this, please reply to the thread and let us know you’ve started it. The more people who want to build this, the better, as we can start gathering feedback.

Thanks, and happy coding!

User Stories

  • Nothing from my website will be cached in my client.
  • The headers will say that the site is powered by ‘PHP 4.2.0’ even though it isn’t (as a security measure).
  • I can post a title to /api/books to add a book and returned will be the object with the title and a unique _id.
  • I can get /api/books to retrieve an array of all books containing title, _id, & commentcount.
  • I can get /api/books/{_id} to retrieve a single object of a book containing title, _id, & an array of comments (empty array if no comments present).
  • I can post a comment to /api/books/{_id} to add a comment to a book and returned will be the books object similar to get /api/books/{_id} including the new comment.
  • I can delete /api/books/{_id} to delete a book from the collection. Returned will be ‘delete successful’ if successful.
  • If I try to request a book that doesn’t exist I will be returned ‘no book exists’.
  • I can send a delete request to /api/books to delete all books in the database. Returned will be ‘complete delete successful’ if successful.
  • All 6 functional tests required are complete and passing.

Passing prototype built on boilerplate: https://gomix.com/#!/project/spark-cathedral
Boilerplate: https://gomix.com/#!/project/fcc-library
Tester(ISQA_1-Personal Library): https://pricey-hugger.gomix.me/

1 Like

The boilerplate link is not listed in the beta site

I did this project before work this morning. A pretty straightforward project all in all, and I got all the tests on the backend tester to go green without too much trouble. Quite enjoyable to do.

The only thing I think you need to change is maybe include an extra bit of information in the user stories. Users are expected to test for the response to a POST request to /api/books when no book title is provided. However it doesn’t say what that response should be anywhere in the user stories. I had to check the response to the appropriate test on the backend tester to find out that the response should be ‘missing title’.

Not a major problem, but thought it was worth pointing out. Oh, and I also completed the issue tracker project yesterday, and just want to say that everything worked fine.