https://github.com/oeway/imjoy-desktop
https://github.com/oeway/imjoy-desktop
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/oeway/imjoy-desktop
- Owner: oeway
- License: gpl-3.0
- Created: 2021-07-12T07:12:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-12T12:43:51.000Z (almost 5 years ago)
- Last Synced: 2025-02-15T18:32:56.473Z (over 1 year ago)
- Size: 113 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Open Web Desktop - Client
## 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)
## License
This project is released under the [GNU GPL3 License](LICENSE)