{"id":15901177,"url":"https://github.com/readium/architecture","last_synced_at":"2025-06-27T08:38:25.730Z","repository":{"id":44737990,"uuid":"67631070","full_name":"readium/architecture","owner":"readium","description":"📚 Documents the architecture of the Readium projects","archived":false,"fork":false,"pushed_at":"2024-08-08T06:46:06.000Z","size":5176,"stargazers_count":175,"open_issues_count":45,"forks_count":33,"subscribers_count":76,"default_branch":"master","last_synced_at":"2024-10-06T11:04:30.553Z","etag":null,"topics":["audiobook-player","audiobooks","ebook-reader","ebooks","epub","readium","webpub"],"latest_commit_sha":null,"homepage":"https://readium.org/architecture/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/readium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-07T17:59:37.000Z","updated_at":"2024-10-04T22:19:54.000Z","dependencies_parsed_at":"2022-09-11T06:51:17.013Z","dependency_job_id":"fa69105e-3b9a-40c8-8651-97e7889f8b01","html_url":"https://github.com/readium/architecture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/readium%2Farchitecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/readium%2Farchitecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/readium%2Farchitecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/readium%2Farchitecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/readium","download_url":"https://codeload.github.com/readium/architecture/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236903093,"owners_count":19222999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audiobook-player","audiobooks","ebook-reader","ebooks","epub","readium","webpub"],"created_at":"2024-10-06T11:01:50.261Z","updated_at":"2025-02-03T06:31:27.489Z","avatar_url":"https://github.com/readium.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Readium Architecture\n\nAll Readium implementations (mobile, desktop or Web) are split in two main modules, which use the [Readium Web Publication Manifest](https://readium.org/webpub-manifest/) to communicate together.\n\nOn the Web, the [Publication Server](server) is responsible for serving a [Readium Web Publication Manifest](https://readium.org/webpub-manifest/) and the resources of a publication over HTTPS.\n\nIn native apps, the [Streamer](streamer) is responsible for parsing packaged publications and exposing them using an in-memory model.\n\nOn all platforms, the [Navigator](navigator) is meant to navigate in the resources of a publication and can adopt very different strategy based on the nature of the publication (ebooks, audiobooks and comics).\n\nThese modules are not necessarily meant to be deployed on the same device or written in the same language, which lets developers select the best implementation based on their requirements.\n\n![Diagram of the Readium Architecture](other/images/architecture.svg)\n \n## Projects\n\n* [Readium Mobile](https://readium.org/mobile)\n* [Readium CSS](https://readium.org/readium-css)\n* [Readium Desktop](https://readium.org/desktop)\n* [Readium Web](https://readium.org/web)\n\n## Components\n\n### Models\n\n* [Readium Web Publication Manifest](https://readium.org/webpub-manifest)\n* [Guided Navigation](https://readium.org/guided-navigation)\n* [Locators](models/locators)\n* [OPDS 2.0](https://drafts.opds.io/opds-2.0) (maintained by the OPDS Community)\n\n### Services\n\n* [Positions List](models/locators/positions)\n\n## API\n\nThe API of each module is specified via [Readium Evolution Proposals](https://readium.org/architecture/proposals/), which are discussed collaborativelty before being implemented by the core developers of the toolkits. \n\n## Ecosystem\n\nTake a look at our dedicated [awesome-readium repository](https://github.com/readium/awesome-readium) to explore the ecosystem built around Readium.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freadium%2Farchitecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freadium%2Farchitecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freadium%2Farchitecture/lists"}