This app is designed to create our own library with the books we have at home. With this website I am hoping we could swap the books within the community so that friends can see your books and rent them as needed.
Visit my link
- Involved migrations, pivot tables, CRUD processing with tables
- Accessed Google Books API to add books
- Blade Templating for Layouts
- Other operations such as Login/Signup/Email Verification/Forgot Password
-
Completely used PHP/Laravel.
-
Database is designed with the below tables
- Users - User Login info
- Owners - User name and address
- Books - Books
- Renters - Book Rental or Swap
- Book_Renter(Pivot)
- Messages - Messages between Owner and Renter
-
CRUD Processing
- Create - All new books, renters, messages are created
- Read - All information could be accessed
- Update - User can manually update availability of the book, initiate rental and initiate a return of book During the transaction , programs also update the return indicator, return date , marking the message as read
- Delete - User can manually delete a books record which would internally do an oncascade delete to messages. It would also do a detach and destroy with the pivot tables. During the transaction, program would also do a delete with a renter table if rejected for the rental
-
Website Speed 2.52s as per [http://tools.pingdom.com]
##What works and what does not?
- This book currently does not have a community concept , as long as you are registered with the website you could see the books available for rental. Future update would be to create a group admin representing a community and a book could only be swapped inside that community
- I am hoping to restrict this website only to add Children books to avoid polluting the website.
- Currently the messaging process for initiation of rental and return is done only when the concerned user is logged in to the system. Would like to change this to a emailing
- I would like to have a tag for books so that it could be filtered based on the genre
- I would like to validate the address against USPS Street Address validator.
##Outside code
[Scotch.io] (http://scotch.io/tutorials/simple-and-easy-laravel-login-authentication)
[bensmith.io] (http://bensmith.io/email-verification-with-laravel)
[susanbuck] (https://github.com/susanBuck/foobooks)
[Google Books API] (https://developers.google.com/books/docs/v1/using)