Open Library (https://openlibrary.org) is an open, editable library catalog, building towards a web page for every book ever published.
Table of Contents
- Code Organization
- Learn the Stack
- Public APIs
Open Library is an effort started in 2006 to create "one web page for every book ever published". It provides access to many public domain and out-of-print books, which can be read online.
See the Quickstart.md for instructions on setting up a developer VM.
You can find more info digging into this old (and in part outdated) document here: http://code.openlibrary.org/en/latest/
- openlibrary/core - core openlibrary functionality, imported and used by www
- openlibrary/plugins - other models, controllers, and view helpers
- openlibrary/views - views for rendering web pages
- openlibrary/templates - all the templates used in the website
- openlibrary/macros - macros are like templates, but can be called from wikitext
Learn the Stack
OpenLibrary is developed on top of the Infogami wiki system, which is itself built on top of the web.py Python web framework and the Infobase database framework.
Once you've read the overview of OpenLibrary Backend technologies, it's highly encouraged you read the developer primer which explains how to use Infogami (and its database, Infobase):
The Service Architecture
We'd love your help! Choose a bug from our project board: https://github.com/internetarchive/openlibrary/projects/1
All source code published here is available under the terms of the GNU Affero General Public License, version 3. Please see http://gplv3.fsf.org/ for more information.