Zaparoo App is the primary user interface for the Zaparoo Core service. It's a React 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 GPLv3 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 or remove it from the code after checking out.
After checking out, run pnpm 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 |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Production build and sync with mobile platforms |
pnpm build:web |
Production build for web only (no Capacitor sync) |
pnpm build:core |
Build for embedding in Zaparoo Core web interface |
pnpm sync |
Sync web build with mobile platforms |
pnpm test |
Run tests |
pnpm test:coverage |
Run tests with coverage report |
pnpm lint |
Run ESLint |
pnpm typecheck |
Run TypeScript type checking |
To build and run on a mobile device:
- Run
pnpm buildto build the web app and sync with mobile app code. - Run
pnpm cap open iosorpnpm 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 the Zaparoo Project even if they include your own work. You will be notified during the Pull Request process if this may be the case.
If you're not comfortable with this arrangement or would like to avoid overlap, Pro features are strictly defined as:
- Any feature that enables the app to act as a reader. That is, any feature which triggers the
runZaparoo API command namespace, excluding those which are used to preview the result of a command. - Cosmetic features such as app icons and themes.
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 key 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.