73 lines
1.7 KiB
Markdown
73 lines
1.7 KiB
Markdown
# Electron SPA App
|
||
|
||
This project is a simple and configurable **Electron desktop application** that embeds a **Single Page Application (SPA)** — such as a React, Vue, or static HTML/JavaScript app — into a desktop environment.
|
||
|
||
The app uses a `.env` file to allow easy configuration of the window size, title, and the path to your SPA entry point.
|
||
|
||
---
|
||
|
||
## 📁 Project Structure
|
||
|
||
```
|
||
electron-spa-app/
|
||
├── src/ # Electron main process code
|
||
│ └── main.js
|
||
├── .env # App configuration
|
||
├── package.json
|
||
└── README.md
|
||
```
|
||
|
||
---
|
||
|
||
## ⚙️ Features
|
||
|
||
- Embeds an IVA Application via Proxy Endpoint
|
||
- Configurable via `.env` (window size, title, entry point)
|
||
- Cross-platform support (macOS, Windows, Linux)
|
||
- Follows a clean folder structure
|
||
|
||
---
|
||
|
||
## 🧪 Prerequisites
|
||
|
||
- [Node.js](https://nodejs.org/) (v16 or higher recommended)
|
||
- [npm](https://www.npmjs.com/)
|
||
- [Electron](https://www.electronjs.org/) (installed as a dev dependency)
|
||
|
||
---
|
||
|
||
## 📦 Installation
|
||
|
||
1. **Clone the repository or copy the project:**
|
||
|
||
```bash
|
||
git https://git.mortons.site/verint.com/iva-studio-workspace.git
|
||
cd iva-studio-workspace/electron-spa-app
|
||
npm install
|
||
```
|
||
|
||
## 🛠️ Configuration
|
||
|
||
Edit the .env file in the root of the project to customize the app settings:
|
||
|
||
```bash
|
||
APP_TITLE=My Electron SPA
|
||
WIDTH=1024
|
||
HEIGHT=768
|
||
PROXY_ENDPOINT=https://router.ivastudio.verint.live/ProxyScript/run/67bca862210071627d32ef12/current/fullscreen_messenger
|
||
```
|
||
|
||
- APP_TITLE – Title shown in the window
|
||
- WIDTH, HEIGHT – Initial window size
|
||
- PROXY_ENDPOINT – URL to your Proxy Endpoint
|
||
|
||
## 🚀 Run the App
|
||
|
||
To start the Electron application:
|
||
|
||
```bash
|
||
npm start
|
||
```
|
||
|
||
This will launch the desktop window and load your SPA.
|