Thank you for taking the time to check out this README and your interest in developing an app for PillarX.
The guide below will show you how to get started developing an app. If you have any questions or need support, please get in touch with us via Discord or Telegram.
Caution
We do not accept any app submissions that ultimately result in an iframe tag being rendered! This compromises the security of the PillarX ecosystem as the content inside of an iframe can be changed anytime to something deceptive and it is not a risk we are willing to take. Any app submissions that result in this will not be accepted.
✨ PillarX apps are simply a base React component, which can include other React components to build out a user interface. In the directory for your own app, you can include other React component files, assets and more that are needed for your app.
⚙️ Checkout the top-level package.json
to see what libraries we have shipped PillarX with. Feel free to use them.
.env
file.
-
Check out the
staging
branch and runnpm i
in the root. -
We have included a
.env.example
file - copy ALL these values to a.env
file in the project root. This will ensure that you can run PillarX with no issues.
Note: We have also included several example apps in the src/apps
folder to help you get started and to quickly see how apps are built in PillarX.
- Run
npm start
at the root.
npm run start
at the root (/
) route. To log in, navigate to /login
. The root (/
) route will now show the PillarX app. We're hiding the ability to log in from the public at this time.
-
Create a new folder in
src/apps/
with the identifier of your app as the folder name, e.g.src/apps/your-app-identifier
, (identifier requirements: lowercase letters, kebab case). Examples of your identifier could be your brand or project name. -
Modify the
REACT_APP_PX_DEVELOPMENT_ID
property in your.env
file to match your app identifier i.e.your-app-identifier
. You may need to runnpm run start
again for the changes in the.env
file to be picked up.
REACT_APP_PX_DEVELOPMENT_ID="your-app-identifier"
- Create a file:
src/apps/{your-app-identifier}/index.{js|ts|tsx}
and add a default export calledApp
within your React component. You can check the example app to see how it's done.
const App = () => {
return <p>Hello app!</p>;
};
export default App;
-
Create app manifest file based on
src/apps/manifest.json.example
and add it to your Appsrc/apps/{your-app-identifier}
folder root as justmanifest.json
. -
Create icon file (requirements: 512px x 512px, PNG format) and add it to your App
src/apps/{your-app-identifier}
folder root asicon.png
. IconKitchen is a great, free tool to use. -
Submit a Pull Request to
staging
branch.