EiSimp / Book-Archive

BookPals
https://book-archive-production.up.railway.app/homepage
0 stars 0 forks source link

Book Placement Customization #52

Closed EiSimp closed 3 months ago

EiSimp commented 3 months ago

The main goal of this issue is to create the dashboard that is housing all the books. I will be calling the dashboard the 'library' and the folders created 'bookshelves'. Below are a series of user stories with the critical points displayed in bullet point at the really beginning.

BELOW ARE THE USER STORIES Create Bookshelf with Popup

Name: Create Bookshelf Actors: Regular User Iteration: 2

Triggers/Preconditions:

Actions/Postconditions:

  1. The user clicks the "+" button to create a new bookshelf.
  2. A popup appears prompting the user to enter a name for the new bookshelf, optionally keeping the bookshelf secret.
  3. The user enters the bookshelf name.
  4. The user optionally checks the "Keep this bookshelf secret" option.
  5. The user submits the form by clicking the "Create" button.
  6. The system creates a new bookshelf with the provided name and options.
  7. The new bookshelf appears in the user's library.

Acceptance Tests:

Test 1: Input: Bookshelf Name: "Harry Potter" Assertion: The bookshelf is created and displayed in the library.

Test 2: Input: Bookshelf Name: "" (empty) Assertion: The form shows an error message indicating the name is required.

Test 3: Input: Bookshelf Name: "Favorites", "Keep this bookshelf secret" option checked Assertion: The bookshelf is created as a secret and displayed in the library with a lock icon.

Sort Books

Name: Sort Books Actors: Regular User Iteration: 2

Triggers/Preconditions:

Actions/Postconditions:

  1. The user clicks the sort button.
  2. The user selects a sort option (e.g., by title, author, date added).
  3. The system sorts the books according to the selected option.
  4. The sorted list of books is displayed in the library.

Acceptance Tests:

Test 1: Action: User selects "Sort by Title". Assertion: The books are sorted alphabetically by title.

Test 2: Action: User selects "Sort by Author". Assertion: The books are sorted alphabetically by author.

Rename Bookshelf

Name: Rename Bookshelf Actors: Regular User Iteration: 2

Triggers/Preconditions:

Actions/Postconditions:

  1. The user clicks the "Rename Bookshelf" button next to a bookshelf name.
  2. The user is prompted to enter a new name for the bookshelf.
  3. The user submits the form with the new name.
  4. The system updates the bookshelf name.
  5. The new name appears in the user's library.
  6. Acceptance Tests:

Test 1: Input: New Bookshelf Name: "Must Reads" Assertion: The bookshelf is renamed to "Must Reads" and displayed in the library.

Test 2: Input: New Bookshelf Name: "" (empty) Assertion: The form shows an error message indicating the name is required.

Delete Bookshelf

Name: Delete Bookshelf Actors: Regular User Iteration: 2

Triggers/Preconditions:

Actions/Postconditions:

  1. The user clicks the "Delete Bookshelf" button next to a bookshelf name.
  2. The user is prompted to confirm the deletion.
  3. The user confirms the deletion.
  4. The system deletes the bookshelf and all its contents.
  5. The bookshelf no longer appears in the user's library.

Acceptance Tests:

Test 1: Action: User clicks the "Delete Bookshelf" button for "Recipes to Make" and confirms the deletion. Assertion: The "Recipes to Make" bookshelf and all its books are removed from the library.