Skip to content
Permalink
be5eddc1a0
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
84 lines (52 sloc) 3.63 KB
# Library Loans
The University library allows staff and students to locate and borrow books for pre-determined periods of time.
---
## Testing
You are required to create the following accounts to allow the system to be tested. All accounts should have the password `p455w0rd`:
1. `student1`
2. `student2`
3. `librarian`
---
## Stage 1
You will be developing a simple tool to allow libraries to track books borrowed by staff and students.
### Part 1
When a `student` logs in they can see a list of all the books they have borrowed. This should display the following information for each item with the items ordered by date due with the one due soonest at the top:
1. A thumbnail of the book cover.
2. The title of the book.
3. The date it is due back (using the format DD/MM/YYYY).
### Part 2
When a `librarian` logs in they can see a list of all the `students` who have borrowed books. For each `student` this should display:
1. The profile photo.
2. The number of books currently on loan.
### Part 3
The librarian's home screen should also have a button labelled **Lend or return item**. Clicking on this takes them to a screen which asks for the following information:
1. The 7 digit student ID of the `student` borrowing the book.
2. The 13 character ISBN number of the book being borrowed.
3. A button labelled **Lend** which adds the book to the `student's` list.
4. A button labelled **Return** that removes the book from the `student's` list.
5. A button labelled **Done** that takes them to a screen that lists all the items currently being borrowed by the `student`.
---
## Stage 2
You will need to add functionality to allow late loans to be correctly tracked.
1. The standard loan period for a book is 3 weeks with a late charge of 50p per day. Modify the student home screen:
1. Any book that has not been returned in time should be clearly shown with the amount due in charges to date.
2. There should be a total outstanding charges value which also includes items have already been returned late.
2. Modify the librarian screen to display the total amount due in charges and add the following to each each student who has outstanding charges:
1. The amount of money outstanding, displayed in pounds and pence.
2. A button labelled **Payment made**. Clicking on this resets the charges to zero.
3. The system should send out weekly emails to all students with monies owed. This email should include:
1. The total amount owed.
2. A list of books with the amount owed for each.
3. Books that have still not been returned should be clearly indicated.
---
## Stage 3
You will now need to implement functionality to track the book inventory:
1. A librarian should be able display a list of books that are overdue by a 30 days or more. These should be considered lost and so will need to be replaced. They should be able to either flag the book as not needing replacement or to be replaced, the latter being added to the ordering list.
2. Librarians should be able to add additional books to the ordering list by adding the ISBN numbers with the book details being pulled from a book api.
3. When an order arrives at the library the librarian should be able to check these against the list which removes them from the ordering list and adds them to the books list so that students can borrow them.
---
## Extras
### Sensors
Rather than entering the ISBN numbers into the system manually use either a USB barcode scanner or a smartphone camera to scan the barcode on the back of the book.
### Data
The [Google Books API](https://www.googleapis.com/books/v1/volumes?q=isbn:9780596517748) allows you to retrieve book data based in the ISBN number.