Skip to content

bipolarmorgan/owd-client

 
 

Repository files navigation

Open Web Desktop - Client

Open Web Desktop

Overview

Open Web Desktop is an experimental project that aims to provide a simple environment to create your own web desktop, and to extend it through modules and other integrations. OWD Client is based on Vue.js 2.

Check the demo of this owd-client base repository, decked out with some modules.

Features

  • Open-source web desktop client based on Vue.js 2
  • Fully extendable through client and server modules
  • Fully extendable through pages and Vue components
  • Global notifications and terminal commands support
  • Vuex, Vue Router & Vuetify implemented by default

About this project

Open Web Desktop is divided in two main repositories:

  • owd-client: Open Web Desktop client, made with Vue.js 2
  • owd-server: Open Web Desktop server, made with Nest.js (TBA)

Getting started

Required software:

At the moment there is no OWD CLI available to bootstrap a new client instance with a single command, but you can proceed manually. Once you have everything installed, clone the repository.

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

# Using SSH
git clone [email protected]:owdproject/owd-client.git

Copy the owd-client/packages/client folder somewhere, install dependencies and then you'll ready to go.

# Make a folder for your owd-client instance
mkdir my-owd-client

# Copy the client package files into your instance
cp -a owd-client/packages/client/. my-owd-client

# Navigate to your owd-client instance
cd my-owd-client

# Install dependencies
npm install

# Run owd-client in development mode
npm run serve

If you want to publish your desktop, build the source and deploy my-owd-client/dist.

# Build owd-client for production
npm run build

Modules

OWD modules may include a client or a server folder. Since there is no OWD CLI available for module installation, you have to install modules manually too. Here you can find some modules.

Install a new module

To install a module, copy the content of the owd-module/client folder into src/modules/<module-name>.

Always take a look at the README.md, you may have to move some other folders like config or public.

Install module dependencies

Some modules may require additional dependencies, or other OWD modules to be installed.

Check the src/modules/<module-name>/module.json config. If you find some dependencies, install each one by running npm install <dependency-name> in the root folder of your owd-client instance.

Define the installed module

To allow OWD to load the installed module, you have to define it under my-owd-client/config/modules.json. Be sure to add every module in the modulesEnabled property like the example above:

{
  "type": "client",
  "modulesEnabled": {
    "sample": {
      "name": "about",
      "version": "1.4.0",
      "url": "https://www.github.com/owdproject/owd-client"
    },
    "your-module-name": {
      "name": "<your-module-name>",
      "version": "1.0.0",
      "url": "<your-repo-link>"
    }
  }
}

Contributing

Local development

The OWD Client repository is a lerna 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:

Once you have everything installed, clone the repository:

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

# Using SSH
git clone [email protected]:owdproject/owd-client.git

Then install 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 lerna monorepo, allowing you to run and edit both client and core packages.
If you intend to contribute to the project, please join our community chat.

Supporters

See all sponsors & backers in the BACKERS.md.

Become a Patron   Become a Patron

License

This project is released under the GNU GPL3 License.

About

Open Web Desktop client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 59.2%
  • Vue 39.3%
  • SCSS 1.1%
  • HTML 0.4%