Books
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:
                                Dewie
                                =====

Author: Cameron Lopez
Date: 2011-12-16 21:27:15 CST


Table of Contents
=================
1 Dewie 
2 Purpose 
3 Goal 
4 Description 
    4.1 Client 
    4.2 Backend 
        4.2.1 Database 
5 Discussion 
    5.1 Challenges 
    5.2 Strengths 
    5.3 Weaknesses 
6 Future 
7 Bugs 


1 Dewie 
--------
  The place for your Books
  Github: [https://github.com/cjoelrun/Books]
  Heroku: [http://dewie.herokuapp.com/]

2 Purpose 
----------
  The purpose of my project, Dewie, is to offer readers a way to track which books they want to read, are reading, and have read.

3 Goal 
-------
  Dewie's goal is to allow readers to add books easily to reading lists.  Functionality consits basically of searching for books, bookmarking books, managing bookmarks, and discovering new books other users have bookmarked on the site.

4 Description 
--------------

4.1 Client 
===========
   The face of Dewie is simple.  Interfaces are meant to appeal to readers who love the simplicity of text on the page of a book.  The homepage displays the users's current reading list to a logged in user.  The search page allows the user to search for a book.  Information is displayed along with resulting books.  After choosing a book it shows up in your bookmarks.  Your bookmarks page allows you to manage bookmarks, delete or move to another shelf.  The books other users have added are on the books page which can be bookmarked with the click of a button.

4.2 Backend 
============
   Behind Dewie are three major components.  _Users_, _books_, and _bookmarks_.  How they're modeled describes how the site handles bookmarking well:  _Users_ and _books_ have a many-to-many relationship with each other through _bookmarks_.
   _Users_ are handled through [devise], a RubyGem.  They can have many books through _bookmarks_.
   _Books_ are scaffolded to contain all the information given by the [Google Book API] query, carried out by my fork of the [google_books] RubyGem.  _Books_ can have many _Users_ through _Bookmarks_.
   _Bookmarks_ are the center functionality of the site.  They track _Books_ that _Users_ wish to track. 

   [devise]: https://github.com/plataformatec/devise
   [Google Book API]: http://code.google.com/apis/books/
   [google_books]: https://github.com/cjoelrun/google_books

4.2.1 Database 
~~~~~~~~~~~~~~~
    The User's database is generated through Devise.  The Book database contains all the fields given by the [Google Book API].  The Bookmarks database contains the shelf the book is stored on and respective User and Book.

    [Google Book API]: http://code.google.com/apis/books/

5 Discussion 
-------------

5.1 Challenges 
===============
   A challenge involved in creating Dewie was integrating the foreign data from Google to the application.  I believe the largest challenge was simply learning the ways of Rails and expressing my application in such abstract ways.  The magic of Rails still eludes me in certain aspects, but I hope to conquer them as I continue to develop Dewie.

5.2 Strengths 
==============
   Features worth talking about are things like the ability to search any book indexed by Google.  It offers a very intuitive way of entering books into the site, rather then filling all information in by hand.  This information provides attractive thing such as photo covers and indepth information about each book.

5.3 Weaknesses 
===============
   A weakness of the site now is that the api is still limited in uses because a key can't be published publicly to github so search will occasionally fail as too many requests are made.  Also the intuitve nature of adding bookmarks is a multi step process.  A book must be searched for, added, then navigated to, then finally added as a bookmark.
   Also authors and categories of books are not recorded from the API because of time restraints.  They must be stored in seperate tables because of has_many relationships.

6 Future 
---------
  I plan to add a private api key so that api querying can be carried out more practically.  Also I intend to making searching and bookmarking books more intuitive.

7 Bugs 
-------
  Bugs existing are occasional failures by searches because of API key complications, and routing errors because certain functionality has be removed from scaffolds but not unrouted.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。