An open API service indexing awesome lists of open source software.

https://github.com/oeway/imjoy-desktop


https://github.com/oeway/imjoy-desktop

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Open Web Desktop - Client


Open Web Desktop







## Overview
Open Web Desktop is a project that aims to provide a simple environment to create your own web desktop, and to be able to extend it through a series of modules and integrations. OWD Client is based on Vue.js 3 and TypeScript.

[Check the demo](https://demo.owdproject.org) of this `owd-client` base repository, decked out with some modules.

## Features
- Open-source web desktop client based on Vue.js 3
- Fully extendable through app and desktop modules
- Fully extendable through pages and Vue components
- Notifications, terminal commands, multiple themes
- Vuex, Vue Router and Vue i18n implemented by default
- Vuetify.js and Moment.js implemented by default
- TypeScript and Vite support

## About this project
Open Web Desktop is divided in two main repositories:
- [owd-client](https://github.com/owdproject/owd-client): Open Web Desktop client, made with Vue.js 3
- [owd-server](https://github.com/owdproject/owd-server): Open Web Desktop server, made with Nest.js (TBA)

## Getting started
Required software:

- [Git](https://git-scm.com)
- [Node](https://nodejs.org)

When you are ready, bootstrap a new instance by running:
```
npx create-owd-app
```
Once the process is complete, you can start with the client development.
```
# Run the dev server
npm run serve

# Build for production
npm run build
```

## Modules
OWD modules can extend your Open Web Desktop instance.
You can find some modules available for all at [topics/owd-modules](https://github.com/topics/owd-modules).

### Install a new module
You can simply install a new module with `npm install `, unless you want to customize it.

#### Install a new module by importing its source
If you are planning to customize a module, just import its source by copying the content of the `owd-module/client` folder into `src/modules/app/`.
Always check the `README.md`, you may have to move some folders.

Also take a look at the `package.json`, there may be additional dependencies to install, or other OWD modules.
For each dependency you find listed, install it by running `npm install ` in the root folder of your instance.

#### Define the installed module
To load an installed module, define it under `my-owd-client/client.extensions.ts`.
Be sure to add every module in the `app.modules` array like the default ones:

```js
import AboutModule from "@owd-client/core/src/modules/app/about";
import DebugModule from "@owd-client/core/src/modules/app/debug";
import CustomModuleSource from "./src/modules/app/custom-module";
import CustomModuleInstalled from "owd-custom-module";

export default {
app: {
modules: [
AboutModule,
DebugModule,
CustomModuleSource,
CustomModuleInstalled
]
},
...
```

## Contributing

### Local development
OWD Client repository is a Yarn workspaces monorepo that includes the client boilerplate, the client core, and in the future also something else (like the docs), just to keep everything in a single place.

### Setting up your environment

Required software:

- [Git](https://git-scm.com)
- [Node](https://nodejs.org)
- [Yarn](https://classic.yarnpkg.com)

Once you have everything installed, clone the repository:

```
# Using HTTPS
git clone https://github.com/owdproject/owd-client.git

# Using SSH
git clone git@github.com:owdproject/owd-client.git
```

Then install all the dependencies, and run Open Web Desktop in development mode.
```
# Navigate to the owd-client folder
cd owd-client

# Install dependencies using yarn
yarn install

# Run OWD in development mode
yarn serve
```
This will bootstrap the Yarn workspaces, allowing you to run and edit both client and core packages.
If you intend to contribute to the project, please join our [community chat](https://discord.gg/3KFVP8b).

## Supporters

Your support is essential to keep this project active.
If you find it useful, please consider donating.

See all sponsors & backers in the [BACKERS.md](BACKERS.md)


Open Web Desktop Patreon

 

Open Web Desktop Liberapay

## License
This project is released under the [GNU GPL3 License](LICENSE)