55 lines
2 KiB
Markdown
55 lines
2 KiB
Markdown
# Taobin Recipe Manager (Electron)
|
|
|
|
## Development
|
|
|
|
### Install dependencies
|
|
|
|
```
|
|
npm install
|
|
```
|
|
|
|
### Run develop
|
|
|
|
```
|
|
npm run dev
|
|
```
|
|
|
|
### Build
|
|
|
|
Before build, you have to change version in `package.json` to the new version.
|
|
|
|
```
|
|
npm run build
|
|
```
|
|
|
|
> note: this will build executable and installer for your current platform
|
|
|
|
## Environment Variables
|
|
|
|
We have some environment variables to control app behavior. The environment variables in this project have a prefix `TAOBIN_RECIPE_MANAGER_`. If you want to set environment variables, you have to add this prefix.
|
|
|
|
> note: All the environment variables can access through `import.meta.env.{VARIABLE_NAME}`.
|
|
|
|
> note: In development, you can create a `.env.local` file in the root directory of the project to set environment variables.
|
|
|
|
## Environment Mode
|
|
|
|
In this Client project, we have two environment modes: `electron` and `web`. Business logic will be different in these two modes. you wrap the code in `if (window.electronRuntime)` to run the code in electron mode. You can also use `if (!window.electronRuntime)` to run the code in web mode.
|
|
|
|
The reason why we have two environment modes is that in electron we have to use native modules for example `deeplink` to handle login callback. But in web, we have to use `window.location.href` to handle login callback.
|
|
|
|
> In Development, the default if to run cmd `npm run dev` is will run in both electron and web mode. If you want to run in electron or web mode, you can run `npm run dev:electron` or `npm run dev:web`.
|
|
|
|
## Environment Variables List
|
|
|
|
In this section, we will list all the environment variables. That app will use in both environment mode the default value if you don't set the environment variables.
|
|
|
|
> dev: if you add new environment variables, please add it to this section.
|
|
|
|
### TAOBIN_RECIPE_MANAGER_SERVER_URL
|
|
|
|
- The url of the server. Default: `http://localhost:8080`
|
|
|
|
### TAOBIN_RECIPE_MANAGER_TUS_SERVER_URL
|
|
|
|
- The url of the tus server for upload/download files. Default: `http://localhost:8090/files`
|