The Semantic Workbench app is designed as a client-side, single-page application (SPA) using React and TypeScript. It runs entirely in the user's browser and interacts with the backend Semantic Workbench service for state and conversation management.
React/TypeScript: The app is built using the React library and TypeScript for static typing.
Client-Server Interaction: The app communicates with the Workbench backend service via RESTful APIs, performing AJAX requests to handle user input and display responses.
Single Page Application (SPA): Ensures smooth and seamless transitions between different parts of the app without requiring full page reloads.
The application requires user authentication, typically via Microsoft AAD or MSA accounts. Instructions for setting up the development environment are in the repo readme. To deploy in your own environment see app registration documentation.
The Semantic Workbench app connects to the backend service using RESTful API calls. Here’s how the interaction works:
- Initial Setup: On application startup, the app establishes a connection to the backend service located at a specified endpoint. This connection requires SSL certificates, which may prompt for admin credentials when installed during local development.
- User Authentication: Users must authenticate via Microsoft AAD or MSA accounts. This enables secure access and interaction between the app and the backend.
- Data Fetching: The app makes AJAX requests to the backend service, fetching data such as message history, user sessions, and conversation context.
- Event Handling: User actions within the app (e.g., sending a message) trigger RESTful API calls to the backend, which processes the actions and returns the appropriate responses.
- State Management: The backend service keeps track of the conversation state and other relevant information, enabling the app to provide a consistent user experience.
The app includes error handling mechanisms that notify users of any issues with the backend connection, such as authentication failures or network issues.
The Semantic Workbench app is a React/Typescript app integrated with the Semantic Workbench backend service.
Follow the setup guide to install the development tools.
In the workbench-app directory
make
To run and/or debug in VS Code, View->Run, "app: semantic-workbench-app"
In the workbench-app directory
pnpm start
Note: you might be prompted for admin credentials for the SSL certificates used by the app.
pnpm start
- start dev serverpnpm build
- build for productionpnpm preview
- locally preview production build