Zaparoo App is the primary user interface for the Zaparoo Core service. It's a React/TypeScript web app built on Capacitor, which is deployed as a phone app on iOS/Android and embedded in Zaparoo Core as a web interface.
Zaparoo App is released under the Apache 2.0 license including its paid features. You're free to do with it what you like under the conditions of the license and trademarks, but we ask in good faith to avoid redistributing the built app with these paid features enabled, as they're used to support development of the project.
This project also depends on the Capacitor plugin Capawesome NFC which requires a license. Please contact wizzo for a development copy of this plugin. The app will compile and run without it. NFC features are automatically disabled at runtime if the plugin is not present.
After checking out, run npm install to install dependencies.
Optionally, copy src/firebase.json.example to src/firebase.json and fill in your Firebase config to enable auth features. The app will build and run without it.
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Production build and sync with mobile platforms |
npm run build:web |
Production build for web only (no Capacitor sync) |
npm run build:core |
Build for embedding in Zaparoo Core web interface |
npm run sync |
Sync web build with mobile platforms |
npm run test |
Run tests |
npm run test:coverage |
Run tests with coverage report |
npm run lint |
Run ESLint |
npm run typecheck |
Run TypeScript type checking |
To build and run on a mobile device:
- Run
npm run buildto build the web app and sync with mobile app code. - Run
npm run cap open iosornpm run cap open androidto launch the appropriate mobile app IDE.
See the Capacitor iOS and Android documentation for information about setting up your app IDE environment correctly if you have issues.
The UI and UX of this app are tightly managed. If you make any major additions or changes to the UI of the app, expect them to go through a lot of scrutiny. We want people to contribute, but it's also important that the app is always kept user-friendly and accessible.
When you make additions or changes to any text in the app, be mindful those changes need to also be translated into every other language supported by the app.
When you contribute to the app, you accept that the app contains some paid features (Pro features) which may include your own contributions if they overlap in functionality. If this is the case, you agree that payments to enable the Pro version will still go to Wizzo Pty Ltd even if they include your own work. You will be notified during the Pull Request process if this may be the case.
Pro features are strictly defined as any feature that enables the app to act as a reader using phone hardware sensors. All other features of the Zaparoo App are free.
All contributors to the app will be included here and in the About page of the app itself. Contributors may also request a license for the Pro version.
- RetroCastle - Chinese (Simplified)/中文
- Anime0t4ku - Dutch/Nederlands, Japanese/日本語
- Phoenix - Dutch/Nederlands
- Seexelas - French/Français
- Ze Conehead - German/Deutsch
- Pink Melon - Korean/한국어
Translation files are located in src/translations/ as JSON files. To add or update a translation, copy en-US.json as a starting point and translate the values. The filename should use the BCP 47 locale format (e.g. de-DE.json for German, ja-JP.json for Japanese).
This repository contains Zaparoo trademark assets which are explicitly licensed to this project in this location by the trademark owner. These trademarks must be removed from the project or replaced if you intend to redistribute the project in any form. See the Zaparoo Terms of Use for further details.