🗂 Kanban-style project & personal management tool for Nextcloud, similar to Trello
Перейти к файлу
Julius Härtl 9810faf877
chore(release): Bump version to 1.12.0-beta.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-11-09 15:21:37 +01:00
.devcontainer feat: Add devcontainer and update dev docs 2023-05-14 12:58:02 +02:00
.github Chore(deps): Bump shivammathur/setup-php from 2.26.0 to 2.27.0 2023-11-04 02:57:39 +00:00
.tx [tx-robot] Update transifex configuration 2022-10-01 02:24:14 +00:00
appinfo chore(release): Bump version to 1.12.0-beta.1 2023-11-09 15:21:37 +01:00
css Invert icons properly in dark mode 2022-07-26 16:16:53 +02:00
cypress Fix(test): trim whitespace before compare 2023-11-06 14:53:56 +03:00
docs docs: Update API docs 2023-11-08 12:59:36 +01:00
img use deck icon for boards, MDI-card for cards and MDI-comment for comments 2023-02-08 14:02:06 +01:00
l10n Fix(l10n): Update translations from Transifex 2023-11-09 00:43:06 +00:00
lib Merge pull request #4137 from TehThanos/master 2023-11-08 15:40:43 +01:00
src fix: Show tooltip for readable date 2023-11-08 12:59:36 +01:00
templates Move to vue-material-design-icons 2022-07-22 11:39:16 +02:00
tests Merge pull request #4137 from TehThanos/master 2023-11-08 15:40:43 +01:00
.codecov.yml Test codecov fix 2016-10-30 23:24:19 +01:00
.editorconfig Fix editor config 2022-05-12 16:48:21 +02:00
.eslintignore Fix eslint errors 2018-05-12 12:13:49 +02:00
.eslintrc.js Export Board 2022-12-30 12:56:06 +01:00
.gitignore add cypress auto generated videos to gitignore 2022-12-30 14:43:13 +01:00
.nextcloudignore Fix nextcloudignore paths 2020-04-18 08:53:37 +02:00
.php-cs-fixer.dist.php Bump nextcloud/coding-standard from 0.5.0 to 1.0.0 2021-12-29 11:43:56 +01:00
CHANGELOG.md chore(release): Bump version to 1.12.0-beta.1 2023-11-09 15:21:37 +01:00
LICENSE Update files in root 2017-01-31 10:09:23 +01:00
Makefile Added lint rule to Makefile 2022-10-20 07:41:49 +03:00
README.md doc: mention QOwnNotes integration 2023-06-17 13:41:01 +02:00
SECURITY.md Rename main Git development branch from `master` to `main` 2023-01-16 17:27:38 +01:00
babel.config.js Migrate to babel config and updgrade webpack-vue-config 2021-04-26 16:54:23 +02:00
composer.json chore(composer): Update and cleanup composer dependencies 2023-07-20 11:42:19 +02:00
composer.lock chore(dev-deps): Bump nextcloud/ocp package 2023-11-05 02:34:15 +00:00
cypress.config.js test(cypress): Move to @nextcloud/cypress 2022-12-30 15:42:33 +01:00
krankerl.toml Run nightly build on github actions 2020-01-28 12:43:57 +01:00
mkdocs.yml Increase documentation 2021-12-30 11:19:49 +01:00
package-lock.json Chore(deps-dev): Bump cypress from 13.3.3 to 13.4.0 2023-11-04 02:39:30 +00:00
package.json chore(release): Bump version to 1.12.0-beta.1 2023-11-09 15:21:37 +01:00
psalm.xml chore(composer): Update and cleanup composer dependencies 2023-07-20 11:42:19 +02:00
relativeci.config.js Test run relativeci 2020-12-30 12:42:03 +01:00
stylelint.config.js Update dev dependencies 2021-06-14 17:13:30 +02:00
webpack.js chore(webpack): Move to shared code for entrypoints and use webpack serve public path 2023-05-17 09:53:50 +02:00

README.md

Deck

Build Status CodeCov Codacy Badge Scrutinizer Code Quality #nextcloud-deck

Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.

  • Add your tasks to cards and put them in order
  • Write down additional notes in markdown
  • Assign labels for even better organization
  • Share with your team, friends or family
  • Integrates with the Circles app!
  • Attach files and embed them in your markdown description
  • Discuss with your team using comments
  • Keep track of changes in the activity stream
  • Get your project organized

Deck - Manage cards on your board

Mobile apps

3rd-Party Integrations

  • trello-to-deck - Migrates cards from Trello
  • mail2deck - Provides an "email in" solution
  • A-deck - Chrome Extension that allows to create new card in selected stack based on current tab
  • QOwnNotes - Quickly creates cards and links to them in Markdown notes

Installation/Update

The app can be installed through the app store within Nextcloud. You can also download the latest release from the release page.

Performance limitations

Deck is not yet ready for intensive usage. A lot of database queries are generated when the number of boards, cards and attachments is high. For example, a user having access to 13 boards, with each board having on average 100 cards, and each card having on average 5 attachments, would generate 6500 database queries when doing the file related queries which would increase the page loading time significantly.

Improvements on Nextcloud server and Deck itself will improve the situation.

Developing

There are multiple ways to develop on Deck. As you will need a Nextcloud server running, the individual options are described below.

General build instructions

General build instructions for the app itself are the same for all options.

To build you will need to have Node.js and Composer installed.

  • Install PHP dependencies: composer install --no-dev
  • Install JS dependencies: npm ci
  • Build JavaScript for the frontend
    • Development build npm run dev
    • Watch for changes npm run watch
    • Production build npm run build

Faster frontend developing with HMR

You can enable HMR (Hot module replacement) to avoid page reloads when working on the frontend:

  1. ☑️ Install and enable hmr_enabler app
  2. 🏁 Run npm run serve
  3. 🌍 Open the normal Nextcloud server URL (not the URL given by above command)

GitHub Codespaces / VS Code devcontainer

  • Open code spaces or the repository in VS Code to start the dev container
  • The container will automatically install all dependencies and build the app
  • Nextcloud will be installed from the master development branch and be available on a port exposed by the container

Docker: Simple app development container

  • Fork the app
  • Clone the repository: git clone https://github.com/nextcloud/deck.git
  • Go into deck directory: cd deck
  • Build the app as described in the general build instructions
  • Run Nextcloud development container and mount the apps source code into it
docker run --rm \
    -p 8080:80 \
    -v ~/path/to/app:/var/www/html/apps-extra/app \
    ghcr.io/juliushaertl/nextcloud-dev-php80:latest

Full Nextcloud development environment

You need to setup a development environment of the current Nextcloud version. You can also alternatively install & run the nextcloud docker container. After the finished installation, you can clone the deck project directly in the /[nextcloud-docker-dev-dir]/workspace/server/apps/ folder.

Running tests

You can use the provided Makefile to run all tests by using:

make test

Documentation

The documentation for our REST API can be found at https://deck.readthedocs.io/en/latest/API/

Contribution Guidelines

Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.

For more information please review the guidelines for contributing to this repository.

Apply a license

All contributions to this repository are considered to be licensed under the GNU AGPLv3 or any later version.

Contributors to the Deck app retain their copyright. Therefore we recommend to add following line to the header of a file, if you changed it substantially:

@copyright Copyright (c) <year>, <your name> (<your email address>)

For further information on how to add or update the license header correctly please have a look at our licensing HowTo.

Sign your work

We use the Developer Certificate of Origin (DCO) as a additional safeguard for the Nextcloud project. This is a well established and widely used mechanism to assure contributors have confirmed their right to license their contribution under the project's license. Please read developer-certificate-of-origin. If you can certify it, then just add a line to every git commit message:

  Signed-off-by: Random J Developer <random@developer.example.org>

Use your real name (sorry, no pseudonyms or anonymous contributions). If you set your user.name and user.email git configs, you can sign your commit automatically with git commit -s. You can also use git aliases like git config --global alias.ci 'commit -s'. Now you can commit with git ci and the commit will be signed.