This is a Pulse App template. A Pulse App is a module federated app that can run standalone or be integrated as an extension to Pulse Editor platform.
Pulse Editor is a modular, cross-platform, AI-powered productivity platform with federated app collaboration and extensible workflows. Pulse Editor itself does not serve any key features except providing a place for Pulse Apps to be hosted and interacted. Pulse apps are loaded to Pulse Editor via Module Federation.
You are now using the official React template for Pulse Apps. It consists both frontend and backend codes.
The frontend uses React, and frontend code is located under src/, except in src/assets (public folder) and src/server-function (backend folder). This template is not much different from a standard React app, except that there is a pre-made entry at src/main.tsx. It does not yet support multi-page app, so there is only one entry point.
In addition, the template comes with @pulse-editor/react-api pre-installed -- a npm package to interact with Pulse Editor platform in case of:
- read editor context
- interact with other Pulse Apps
The backend uses Node.js, and backend code is located under src/server-function. If the frontend needs to call backend API endpoint, it can use fetch to do so. For example, to call an echo endpoint, use fetch("/server-function/echo").