{"id":16317947,"url":"https://github.com/cereallarceny/flipbook","last_synced_at":"2025-03-16T14:30:55.766Z","repository":{"id":207990319,"uuid":"720473701","full_name":"cereallarceny/flipbook","owner":"cereallarceny","description":"Flipbook is a superset of QR codes that allows for infinitely sized payloads. Download apps, rich-text, and more without the need for an internet connection.","archived":false,"fork":false,"pushed_at":"2024-09-13T00:40:56.000Z","size":1968,"stargazers_count":55,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T03:02:57.639Z","etag":null,"topics":["animation","flipbook","gif","qrcode","qrcode-generator","qrcode-reader","qrcode-scanner"],"latest_commit_sha":null,"homepage":"https://flipbook.codes","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cereallarceny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2023-11-18T15:44:40.000Z","updated_at":"2024-12-30T22:28:46.000Z","dependencies_parsed_at":"2024-01-09T18:28:30.321Z","dependency_job_id":"b66e07ba-a687-49ab-bc92-2fe8856b3deb","html_url":"https://github.com/cereallarceny/flipbook","commit_stats":null,"previous_names":["cereallarceny/flipbook"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cereallarceny%2Fflipbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cereallarceny%2Fflipbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cereallarceny%2Fflipbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cereallarceny%2Fflipbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cereallarceny","download_url":"https://codeload.github.com/cereallarceny/flipbook/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243882288,"owners_count":20363114,"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":["animation","flipbook","gif","qrcode","qrcode-generator","qrcode-reader","qrcode-scanner"],"created_at":"2024-10-10T22:09:36.370Z","updated_at":"2025-03-16T14:30:54.773Z","avatar_url":"https://github.com/cereallarceny.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"apps/web/public/logo.svg\" alt=\"Flipbook\" width=\"200\" /\u003e\n  \u003ch1 style=\"text-align: center; margin-top: 10px;\"\u003eFlipbook\u003c/h1\u003e\n\u003c/p\u003e\n\n[![Status](https://github.com/cereallarceny/flipbook/actions/workflows/ci.yml/badge.svg)](https://github.com/cereallarceny/flipbook/actions/workflows/ci.yml)\n[![License](https://badgen.net/npm/license/@flipbookqr/writer)](https://npmjs.com/package/@flipbookqr/writer)\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;**Writer:** [![Writer Version](https://badgen.net/npm/v/@flipbookqr/writer)](https://npmjs.com/package/@flipbookqr/writer)\u0026nbsp;\u0026nbsp;[![install size](https://packagephobia.com/badge?p=@flipbookqr/writer@latest)](https://packagephobia.com/result?p=@flipbookqr/writer@latest)\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;**Reader:** [![Reader Version](https://badgen.net/npm/v/@flipbookqr/reader)](https://npmjs.com/package/@flipbookqr/reader)\u0026nbsp;\u0026nbsp;[![install size](https://packagephobia.com/badge?p=@flipbookqr/reader@latest)](https://packagephobia.com/result?p=@flipbookqr/reader@latest)\n\n## Getting Started\n\nFlipbook is a series of libraries that you can use in any web, mobile, or desktop application that enable the writing and reading of QR codes that contain larger payloads than traditional QR codes. This is done by creating a series of QR codes that are stitched together into an animated GIF, called a \"Flipbook\". This Flipbook can then be scanned by the reader library and subsequently reassembled into the original payload.\n\n[View a CodeSandbox example](https://codesandbox.io/p/sandbox/n6hrwl)\n\n![Flipbook Example](./docs/flipbook-qr.gif)\n\n**[Download Reader](https://flipbook.codes)**\n\n### Why?\n\n[![Youtube Video](https://img.youtube.com/vi/D4QD9DaISEs/0.jpg)](https://www.youtube.com/watch?v=D4QD9DaISEs)\n\nThe ubiquity of QR codes in daily life has made them a popular tool for sharing information. But the medium is inherently limited to payloads of small sizes. While larger payloads can be supported (to a point), the resulting QR code becomes too difficult to scan reliably.\n\n### Are there any size limitations?\n\nIn theory, no. It would simply be a matter of how long it takes for the writer to encode the payload into a Flipbook, and how long it takes for the reader to decode the Flipbook back into the original payload.\n\n### What can a Flipbook contain?\n\nAnything! Books... movies... music... software... anything that can be represented as a series of bytes can be encoded into a Flipbook.\n\n## Libraries\n\n- Writer (Typescript): [Documentation](./packages/writer) | [NPM Package](https://www.npmjs.com/package/@flipbookqr/writer)\n- Reader (Typescript): [Documentation](./packages/reader) | [NPM Package](https://www.npmjs.com/package/@flipbookqr/reader)\n- Writer (Rust): *Coming soon...*\n- Reader (Rust): *Coming soon...*\n\n### Want to write a Flipbook binding?\n\nIf you want to write a Flipbook binding for a language that isn't listed here, feel free to open an issue or a pull request. We'd love to see Flipbook supported in as many languages as possible!\n\n## Contributing\n\nIf you'd like to contribute to Flipbook, please read our [contributing guide](./CONTRIBUTING.md) to learn how to get started.\n\n### Releasing\n\nTo release a new version of Flipbook, do the following:\n\n1. Do your work on your own branch, and open a pull request to `main` when you're ready.\n   1. On this PR, make sure you have run `pnpm changeset` to generate a new changeset.\n2. Once the PR is merged, it will create a new PR to version all changes and all changesets. The owner(s) can review this PR and merge it.\n3. Once the second PR is merged, owner(s) can run (locally, from the `main` branch):\n   1. `pnpm release`\n   2. `git push --follow-tags`\n4. [On Github](https://github.com/cereallarceny/flipbook/releases/new), owner(s) can create a release for each package using the pushed tags\n\n## License\n\nFlipbook is licensed under the [MIT License](./LICENSE). Go nuts!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcereallarceny%2Fflipbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcereallarceny%2Fflipbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcereallarceny%2Fflipbook/lists"}