-
Notifications
You must be signed in to change notification settings - Fork 0
Glossary and Information Sources
Our mobile application allows owners to record the books they have and loan them to borrowers. The purpose of our app is to connect owners of books with people who want to borrow them. We based our UI off of a combination of Instagram, Facebook, and the kindle e-shop in order to replicate a design that was user friendly and also informative.
User - an individual who is using the application. Each User has:
-
A name
-
A username
-
An email
-
Nationality
-
Contact Information
-
Address
There are two types of Users:
- Borrower - A user who is looking to get a book from someone else or posses a book someone else owns
- Owner - A user who has a posses a book they own or has lent out a book they own
Depending on if the user is a borrower or owner of the book they have different options, if the user is the owner of the book they can:
- Edit the book's details
- Add or delete a book's photo
- Accept or reject requests to borrow the book
- Select the book's pickup point
- View reviews of the book
If the user is a borrower they can:
- View the book's detail
- Send a request to borrow a book
- View the books pickup point
- Add, view, or delete a review for a book
- Return a book
Both types of users can search for books and users and edit the information on their account
Book - either refers to the physical book itself or the digital information stored in the system to represent it
- Author: The individual who wrote the book
- Owner: The individual who owns the copy of this book
- Status: the current condition of the book
- Description: A summary of the books content
- ISBN code: A unique 13 digit that is used to identify a specific edition of a book(but not reprints) used around the world.
Book Status - A book can be in four possible states:
- Available: The book is currently in the owner's possession and can be borrowed
- Requested: The Borrower has informed the owner they wish to borrow the book
- Accepted: The Owner has agreed to give the Borrower the book
- Borrowed: The Borrower now possess the Owner's book
Requests - A request for a book that contains the Borrower's info so that the owner can learn who they are lending it to. Includes:
- Borrower's Username: The name of the Borrower's profile, not necessarily their real name
- Borrower's Email: So that the Owner may contact the Borrower
- Borrower's Address(if available): Enables the Owner to find Borrowers near their location so that they can set a location to pick it up that is close to both of them
User Views - The app has many different user views which serve different purposes. The following is a breakdown of each's purpose.
- LogInView: Allows the User to enter a username and access an User's account if it exists. If not it can redirect them to the SignUpView.
- SignUpView: Allows the User to create an account. Requires only the User's username, name, and email to create it. Hitting Signup will not automatically log them in but rather return them to LogInView if the information is correct. If the data is invalid (Non unique username or the email doesn't exist), it will inform the User of so but not do any further function.
- MainPage/HomePage: Allows the to view all the books they have in their possession. In addition it can also show only the list of books they have borrowed and a list of books they own. Clicking on a borrowed book opens up the ISBN scanner and clicking on a book they own allows them to edit it. The task bar found at the bottom of the screen can access different functions.
- Searching: By tapping on the magnifying glass, the User enters search mode where they can either search for books or Users. If the @ symbol is put at the start of the message it looks for users, if not present it will look for books. It will return a match if the words are found anyone in the Users/Books profile.
- Add/Edit Book: By tapping the plus symbol (for adding) or hitting a book while viewing only your books (for editing), the User is taken to the book add page. In it, the User can add a book to their collection by adding a Title, Author, and ISBN code into the system. A photo and description can also be added but are not required. If a book is being edited the previous information shall appear in the fields rather than nothing.
- User Profile: By hitting the person icon, the User can access their own profile, or hit a User in the search view to see someone else's profile. This allows them to see all the information that the application has on the User. This includes their username, name, and email, in addition to possibly containing more contact information, an address, age, and nationality. If the User is looking over their own profile, they can edit the information or add it if currently blank.
-
Book Profile: Similar in purpose of User Profile, Book Profile shows information about a book. This can be accessed by hitting a book in the MainPage or in Searching. The layout depends on if the book is owned by the User or not.
- Owner's Book Profile: The Owner can see all information about the book present as well as a list of reviews and average rating. They can choose to either at all reviews or edit a the book's information from this page.
- Borrower's Book Profile: The Borrower can see all information about the book present, The Owner's Address(if entered), and a list of reviews and average rating. The Borrower can choose to either look at the list of reviews, leave a review, or send the Owner a request to borrow the book.
- Review List: The list of all reviews about a certain book. A User can select a review they have previously made and delete it. Otherwise, they can look at the rating and comment of each review in addition to seeing the Username of the User who made it.
- Map View: An instance of Google Maps. Using this a pick up point can be selected (By the Owner) or viewed (By the Borrower).
- Request View: A list of requests accessed by click on the requests button while viewing their own books. Each request shows the book that the Borrower wishes to borrow in addition to their Username, Email, and Address. The Owner can either decline a request of accept it. If accepted, all other requests for the same book are deleted.
- Scanner: This accesses the phone's camera so that the User may scan the ISBN code of a book. This is accessed by hitting the receive button while viewing the User's own books or return while viewing the list of borrowed books. Once a book is scanned the app will check the 13 digit code and then either return a book to the owner or confirm that a book has been picked up, depending on which button launched the app.
Review - The Borrower's opinion of a book, it is broken down into two parts:
- Rating: A number out of 5 that determines how much they liked the book
- Comment: A written comment based on what they thought of the book
Wow factor - This refers to the reviews present in the system. It has several functions including:
- Add a review: which enables a Borrower to leave a rating and comment
- Delete a review: which enables A Borrower to remove a previous review
- View reviews: which allows a User to access a specific review
- In addition a book possess an average rating collect from all reviews on that copy of the book
Copyright © 2019 Imtiaz Raqib, Craig Miller, Preston Ling, Tianxin Ma, Ronghui Shao, Kevin Nguyen
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.