App Quickstart
Shuuka apps are uploaded as self-contained ZIP packages. They run without custom Laravel code, custom migrations, or app-specific backend routes.
You can build a Shuuka app with plain HTML/JavaScript or with a frontend framework such as React. Shuuka installs the exported bundle, not your source files.
Before Your First Upload
If you want to upload an app, first turn on Developer access in Settings > App preferences.
After that, open the new app upload page.
What You Actually Upload
You upload the built package, not the app source folder.
my-app.zip
├── manifest.json
├── index.html
├── icon.svg
├── thumbnail.jpg
├── header.jpg
├── settings.json
├── settings-global.json
├── inputs.json
└── assets/
Start With This Mental Model
| Part | What it does |
|---|---|
manifest.json | Declares the app package and runtime metadata |
index.html or other entry file | Loads the app UI |
| required images | Make the app installable and marketable |
| schema files | Let Shuuka build App Global Settings and collected-data screens |
groups and placeholders | Define App Instance Settings for simple and smart apps |
| built assets | JavaScript, CSS, and images served by the platform |
SDK Loading Rule
Shuuka handles SDK loading differently depending on the app style:
| App style | SDK rule |
|---|---|
| simple or smart HTML entry | Shuuka injects and initializes the SDK automatically in the main rendered app page |
| React app source | import what you need from @shuuka/sdk/index.sdk.js in your source code before building |
Advanced case:
- if you create an extra child HTML page such as a modal frame, Shuuka also exposes
{{shuuka_sdk_src}}as a template placeholder for loading the SDK script manually in that nested page
Build Flow
- Build the app locally.
- Export the production files.
- Add
manifest.jsonand the required images. - Add
settings.json,settings-global.json, andinputs.jsonif the app needs App Global Settings or collected-data schemas. - Add
groupsandplaceholdersif the app needs App Instance Settings. - Complete the manifest, including privacy and third-party declarations if the app talks to external services.
- Use the SDK or
shkApiinstead of hardcoded API routes. - ZIP the built bundle.
- Open the new app upload page, upload the ZIP, then test the installed package in Shuuka.
Recommended Next Step
Read App configuration surfaces, React apps, App SDK UI Helpers, App package checklist, and App manifest before you upload your first version.