amer-sabah / bookshelf

0 stars 5 forks source link

As a customer, I want to borrow a book so that I can go to the library and take that book. #1

Closed AsemLab closed 2 years ago

AsemLab commented 3 years ago

The use case description

Use case name: Borrow a book

Brief description: Customer browses available books and choose a book for borrow

Actor: Customer

Preconditions: None

Main flow:

  1. Customer searches and chooses the library from libraries window.
  2. System opens the library window.
  3. Customer searches and selects the book from the available books.
  4. Customer clicks on borrow button.
  5. System adds the user details to the borrow list.
  6. Library owner accepts customer request.
  7. System adds the user details in the history of the library.
  8. System adds the transaction to user's log.

Postcondition: The customer can go to the library and borrow the desired book.

Alternatives:

AsemLab commented 3 years ago

The required tables:

  1. Customers (id, email)
  2. Library owners (id)
  3. libraries (id, books, owner_id)
  4. books (id, state, quantity)
Amalqazaq commented 2 years ago

@maiqamaj please test

maiqamaj commented 2 years ago

---- Test ---- 1- Library Owner should watch borrow and return date to manage number of books that borrowed 2- Customer should not enter his information on each borrow process again because the system contain all his information in the first sign up in system 3- When Library Owner reject the borrow request the system send to Customer reject notification Not delete borrow request details (should coustmer watch statuse for his request if reject or accept ) and not removing the customer from system which is wrong

please check your work again @Amalqazaq

Amalqazaq commented 2 years ago

@maiqamaj , I fix the bugs , please test.