Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cereallarceny/flipbook
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.
https://github.com/cereallarceny/flipbook
animation flipbook gif qrcode qrcode-generator qrcode-reader qrcode-scanner
Last synced: 20 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cereallarceny/flipbook
- Owner: cereallarceny
- License: mit
- Created: 2023-11-18T15:44:40.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-09-13T00:40:56.000Z (2 months ago)
- Last Synced: 2024-10-11T22:09:46.894Z (about 1 month ago)
- Topics: animation, flipbook, gif, qrcode, qrcode-generator, qrcode-reader, qrcode-scanner
- Language: TypeScript
- Homepage: https://flipbook.codes
- Size: 1.88 MB
- Stars: 52
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
Flipbook
[![Status](https://github.com/cereallarceny/flipbook/actions/workflows/ci.yml/badge.svg)](https://github.com/cereallarceny/flipbook/actions/workflows/ci.yml)
[![License](https://badgen.net/npm/license/@flipbookqr/writer)](https://npmjs.com/package/@flipbookqr/writer) | **Writer:** [![Writer Version](https://badgen.net/npm/v/@flipbookqr/writer)](https://npmjs.com/package/@flipbookqr/writer) [![install size](https://packagephobia.com/badge?p=@flipbookqr/writer@latest)](https://packagephobia.com/result?p=@flipbookqr/writer@latest) | **Reader:** [![Reader Version](https://badgen.net/npm/v/@flipbookqr/reader)](https://npmjs.com/package/@flipbookqr/reader) [![install size](https://packagephobia.com/badge?p=@flipbookqr/reader@latest)](https://packagephobia.com/result?p=@flipbookqr/reader@latest)## Getting Started
Flipbook 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.
[View a CodeSandbox example](https://codesandbox.io/p/sandbox/n6hrwl)
![Flipbook Example](./docs/flipbook-qr.gif)
**[Download Reader](https://flipbook.codes)**
### Why?
[![Youtube Video](https://img.youtube.com/vi/D4QD9DaISEs/0.jpg)](https://www.youtube.com/watch?v=D4QD9DaISEs)
The 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.
### Are there any size limitations?
In 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.
### What can a Flipbook contain?
Anything! Books... movies... music... software... anything that can be represented as a series of bytes can be encoded into a Flipbook.
## Libraries
- Writer (Typescript): [Documentation](./packages/writer) | [NPM Package](https://www.npmjs.com/package/@flipbookqr/writer)
- Reader (Typescript): [Documentation](./packages/reader) | [NPM Package](https://www.npmjs.com/package/@flipbookqr/reader)
- Writer (Rust): *Coming soon...*
- Reader (Rust): *Coming soon...*### Want to write a Flipbook binding?
If 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!
## Contributing
If you'd like to contribute to Flipbook, please read our [contributing guide](./CONTRIBUTING.md) to learn how to get started.
### Releasing
To release a new version of Flipbook, do the following:
1. Do your work on your own branch, and open a pull request to `main` when you're ready.
1. On this PR, make sure you have run `pnpm changeset` to generate a new changeset.
2. 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.
3. Once the second PR is merged, owner(s) can run (locally, from the `main` branch):
1. `pnpm release`
2. `git push --follow-tags`
4. [On Github](https://github.com/cereallarceny/flipbook/releases/new), owner(s) can create a release for each package using the pushed tags## License
Flipbook is licensed under the [MIT License](./LICENSE). Go nuts!