+ About Groo Groo is written in PHP 5.1 with Horde 3.1. The code can be found in the Horde CVS: http://cvs.horde.org/incubator/groo/ You can see Groo running here: http://wanderingbooks.org ++ HIgh-level use cases At a minimum, Groo should allow a user to: * catalog her books, by typing ISBNs or scanning barcodes * invite friends who will have access to her books * ask to borrow a book * approve lending of a book After the basics are done, we also want our user to be able to: * search, tag, comment, recommend and rate books in her collective catalog * get e-mail remembering to return a book, or to ask for a book which is overdue * arrange the exchange of books, either setting up meetings or scheduling drops ++ Basic entities The main entities in the Groo system are **Users**, **Books** and **Items**. Users are basically managed and stored by the Horde infrastructure. +++ Books x Items What we call a Book in Groo is not a physical object, but rather a certain edition of a work, such as "PHP in a Nutshell, ISBN: 0596100671". An Item is a particular physical instance or exemplar of a Book, such as my own copy of "PHP in a Nutshell". Eventually Items will also refer to DVDs, CDs. So Groo has a public database of Books, and private collections of Items, which are the user's book collections. The collections are implemented as Horde shares.