Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1.7k
One webpage for every book ever published!
License
internetarchive/openlibrary
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
🌍 Read this in other languages:简体中文 |Español |Tiếng Việt
Open Library is an open, editable library catalog, building towards a web page for every book ever published.
Are you looking to get started?This is the guide you are looking for. You may wish to learn more aboutGoogle Summer of Code (GSoC)? orHacktoberfest.
- Overview
- Installation
- Code Organization
- Architecture
- Developer's Guide
- Running Tests
- Contributing
- Public APIs
- FAQs
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.
Here's a quick public tour of Open Library to get you familiar with the service and its offerings (10min).
Rundocker compose up and visithttp://localhost:8080
Need more details? Checkout theDocker instructionsorvideo tutorial.
Alternatively, if you do not want to set up Open Library on your local computer, try Gitpod!This lets you work on Open Library entirely in your browser without having to install anything on your personal computer.Warning: This integration is still experimental.
You can also find more information regarding Developer Documentation for Open Library in the Open LibraryWiki.
- 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
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).
If you want to dive into the source code for Infogami, see theInfogami repo.
Open Library tests can be run using docker. Kindly look up on ourTesting Document for more details.
docker compose run --rm home make testThere are many ways volunteers can contribute to the Open Library project, from development and design to data management and community engagement. Here’s how you can get involved:
- Getting Started: Check out ourContributing Guide for instructions on how to set up your development environment, find issues to work on, and submit your contributions.
- Good First Issues: Browse ourGood First Issues to find beginner-friendly tasks.
- Design Contributions: We welcome designers to help improve the user experience. You can start by looking atdesign-related issues.
- Data Contributions: Learn how to contribute to our catalog and help improve book data on Open Library. Visit ourvolunteer page for more information.
- Join our Community Calls: Open Library hosts weekly community and design calls. Check thecommunity call schedule for times and details.
- Ask Questions: If you have any questions, request an invitation to our Slack channel on ourvolunteers page.
For more detailed information, refer to theContributing Guide.
All source code published here is available under the terms of theGNU Affero General Public License, version 3.
About
One webpage for every book ever published!
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
