Skip to content

bipolarmorgan/owd-client

Repository files navigation

Open Web Desktop - Client

Open Web Desktop

An open-source web desktop made with Vue.js

Join us on Discord

Overview

Open Web Desktop (previously hacklover-client, aka what is on my personal website) is a project that aims to provide a simple environment to create your own web desktop. Based on Vue.js, it has been rewritten to be fully modular.

Check the demo of this owd-client base repository.

Features

  • Open-source web desktop client based on Vue.js
  • Fully extendable through client and server modules
  • Fully extendable through pages and components
  • Global terminal commands support
  • Global notifications through SSE
  • Vuetify.js implemented by default
  • Responsive support (soon)
  • Themes support (soon)

About this project

Open Web Desktop is splitted in various repositories:

  • owd-client: Open Web Desktop client, made with Vue.js
  • owd-server: Open Web Desktop server, made with Nest.js (TBA)
  • owd-cli: CLI for easy modules installation and maintenance (TBA)

The plans are to make it expandable through a series of modules that will be released on GitHub and Patreon.

Quick start

Make sure that you have Git, Node.js and npm installed.

  • Clone the repo with git clone https://github.com/owd-project/owd-client
  • Enter the directory with cd owd-client
  • Install dependencies with npm install
  • Run your client with npm run serve

Modules

Each OWD module may include a client or a server folder. For now, there is no CLI available for modules installation so you should install each module manually. Here you can find some modules available for all.

Install a new module

You can install modules by copying the content of the client module folder into src/modules/<module-name>.

Install module dependencies

Some modules may have additional npm dependencies that you have to install manually. To do so, check the "dependencies" property in the src/modules/<module-name>/module.json configuration.

Then run npm install <dependency-name> for each dependency to install them like every npm module.

Define the installed module

To be able to load the installed modules into your OWD client, you have to define them under config/modules.json. Edit that file and be sure to add every module in modulesEnabled like in the example:

{
  "type": "client",
  "modulesEnabled": {
    "sample": {
      "name": "sample",
      "version": "1.0.0",
      "url": "https://www.github.com/hacklover/owd-sample"
    },
    "your-module-name": {
      "name": "your-module-name",
      "version": "1.0.0",
      "url": ""
    }
  }
}

Supporters

See all sponsors & backers in the BACKERS.md

Become a Patron   Become a Patron

License

This project is released under the MIT 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%