Giter Site home page Giter Site logo

trobonox / kanri Goto Github PK

View Code? Open in Web Editor NEW
601.0 601.0 43.0 8.15 MB

πŸͺ Modern offline Kanban board app for Windows, MacOS and Linux. Built with simplicity and user experience in mind.

Home Page: https://kanriapp.com

License: GNU General Public License v3.0

Vue 97.62% TypeScript 0.94% Rust 0.11% JavaScript 0.91% CSS 0.27% Handlebars 0.14%
kanban kanban-board kanban-board-application nuxt nuxt3 nuxtjs offline offline-app offline-first offline-kanban-board tauri typescript vue3 vuejs

kanri's Introduction

banner_readme

🌎 Website Β  πŸ“§ Email

πŸ’» Languages I work with:

  • HTML, CSS and JavaScript/TypeScript for front-end (and a bit of back-end) web development
  • Python for Discord bots and automation scripts
  • C# for CLI tools with .NET Core and Windows desktop apps
  • Java for projects at school and Minecraft mods

πŸ”­ Currently working on:

  • Kanri (Offline Kanban board app made using Tauri and Nuxt)
  • Projects and management at catto labs (developer trio)
  • Looking for new opportunities (if you have an exciting project idea, internship or anything else, please contact me!)

Contact me:

If you have any questions or want to work with me feel free to write an email at: [email protected].

Alternatively, you can message me on Discord: trobo.tech

kanri's People

Contributors

danielroe avatar dependabot[bot] avatar khusyasy avatar pnxl avatar renovate[bot] avatar trobonox avatar vexcited avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kanri's Issues

Task delete/finish animation

Switch to new drag and drop library to allow vue TransitionGroup
Temporary fix: add a little timeout to allow CSS fade out animation

Checked tasks inside a card get unchecked when leaving board

In a card I have added three tasks with checkboxes.
I can check or uncheck them, leave the card and reopen it, then the boxes are checked/unchecked like I last did.
But when I use the "back" button on the board an enter the board again, all tasks are unchecked when looking into the card.

Missing rename modal on main page

When clicking the three dots on a board on the main page and trying to rename a board, the button currently does nothing. This has been delayed for a while and will be implemented soon, this issue is here for tracking purposes.

Unable to rename cards with a blank title

If you add a card with no title, it's not possible to change it like with other cards. I'd personally just not create the card (and just dismiss the text field)if the title is not filled out.

Redesign the logo to be pixel-perfect

Currently, the logo has been made by putting together two characters of a font and combining them in Figma. This approach creates some rough edges and would be prevented by a full redraw/redesign. If anyone wants to help out, please let me know!

Additionally, if you have suggestions for a new, better logo, you can also post your suggestions/concepts here!

Card tags

A way to tag cards without it producing too much visual clutter
This is something that needs to be figured out from both a design and UX perspective

RPM release

Hello,

Thanks for making kanri,
Is there any way to make a rpm release alongside deb release.
I can test it out as well since I am on fedora 36

Unable to actually rename a board and the UI errors related to it

I just installed Kanri and went to try its features, but I bumped on an error on one of my first tries.

I created a board, but I did a typo on its name, so I went to rename it, and it works at first glance, but when tried to enter the board, its cards weren't present, then I left back to the board list by clicking the Home button, and all the boards just disappears from the board list. I've tried to change views, but didn't have any success... Futhermore, I even tried to close and re-open the app, but the board's new name ins't even set.

P.S: I did a few more tests, and this whole thing only occurs when I try to rename a board. Even when I try to delete a board, after renaming another, it doesn't work. So I guess that the rename logic is the culprit here...

Steps:

  • Create a new board with an arbitrary name
  • Rename it
  • Enter the board (You will soon see that its cards won't appear)
  • Click the Home button (By this point, the boards will not be present)

Kanri:

  • Version: 0.4.1
  • Package: "kanri_0.4.1_amd64.deb"

My system:

  • OS: Linux Mint 21.1 x86_64
  • Kernel: 5.15.0-70-generic
  • Shell: bash 5.1.16
  • DE: Cinnamon 5.6.8
  • WM: Mutter (Muffin)

HELP NEEDED: Find out suitable testing strategy (unit tests, e2e tests)

I am currently debating how the application should be tested, open for ideas (frameworks to use, what approach makes most sense for this app).
Since the app uses TypeScript, mostly saving logic to JSON and drag-n-drop would have to be tested, so unit tests might be the most appropriate.

Tracking issue, open for suggestions/ideas.

[BUG] Cannot enter text when meta-key is pressed

Describe the bug
I'm using a US-layout keyboard but sometimes have to write german umlauts. For this I'm using a key-mapping so that when I press Meta-Key (Windows-Key on Windows) + u I get ΓΌ, meta+a --> Γ€...
This works in all other applications without issues but it doesn't work in kanri.
When I try to enter text in one of the text fields (e.g. adding a new task), as soon as I press meta+u it closes the textfield.
It seems as if your app is listening for the meta-key or something like that?

I think the root issue may be that the textfields are closed as soon as you unfocus the textfield. In my oppinion this is bad usability as it also makes things like copy-pasting text harder. There is the cancel button in case you want to abort entering some text. I think it would be better to remove this close-on-unfocus-functionality altogether.

To Reproduce
Steps to reproduce the behavior:

  1. In a board, click on "+ Add card"
  2. Enter some text
  3. click outside the textfield
  4. Textfield is closed and entered text is gone

Expected behavior
Textfield stays open and the entered text stays there.

Desktop (please complete the following information):

  • OS: Windows 10
  • App version: v0.3.0

[BUG] Can't move cards to blank columns

Describe the bug
If a column is blank, cards are unable to be moved there

To Reproduce
Steps to reproduce the behavior:

  1. Create a new column
  2. Make sure the column is blank
  3. Attempt to move a card to that column

Expected behavior
for it to move lmao

Desktop (please complete the following information):

  • macOS Ventura 13.1
  • whatever the latest version of kanri is it doesnt actually show the version (hey that makes a good feature suggestion)

Update strategy

Need to figure out an update strategy which does not break offline-first idea of the app but allows seamless updates (a modal with a quick download link on startup maybe?)

feature request: sort columns, multi-tags for single cards, date

Thanks for project, started to use it everyday :)

  • Would be great to make sort cards in columns by customizable priority parameter: (critical,high,low,etc)
  • Also would be cool to can create some customizable tags and assign that tags (one or some) to single card (bug/feature/techdebt/etc)
  • Aso to have Date parameter at card "Due", which will highlight it (by colored border or some other way) when we arrive to that date
  • Also make possible to create linked (or single) card for multiple boards..
  • Maybe make Card description markdown-aware :)

tasks:

  • Make task in cards editable
  • make them movable in list of tasks
  • show unchecked/checked(todo/done) tasks in card view (at dashboard)

smooth-dnd is unmaintained

For now there seems to be no resulting security vulnerabilities but for the future using an alternative library or the HTML drag & drop API might be needed.

Feature Request: [UI Enhancement] Introduce visual cue if card has description or tasks

If a card is not having anything inside it, then the current implementation seems fine. If a card is having some data in it (could be either card description or tasks or both) which is seen by clicking and opening it, then some visual clue on the card would be good.

Just as an example (in image below) an icon on bottom right can be indicative something is inside the card. There could be other ways also, like making borders of the card thick, or having a colored dot at top right, or something else.
Screenshot 2023-09-03 at 05 17 49
Screenshot 2023-09-03 at 05 17 56

Feature Request: [UI Enhancement] Let stacks be multi-column

If one stack gets too many cards in it, then it is inevitable to have a scroll bar. This also makes it difficult to see everything in one view. It would be great to be able to increase width of the stacks so that they can be expanded to have 2 or 3 rows of cards.

For example, in my shopping list example below, "items" and "food" are basically belonging to the same category and I wanted to keep them in a single stack "items". I had to create a new stack "food" only because I was trying to avoid scroll bar and needed to see all cards at the same time (in 2 columns)

This feature is particularly useful in scrum/agile meeting where whole team can see all the open tasks for current sprint.

Screenshot 2023-09-03 at 05 28 03

[BUG] Sort boards by edited date does not work

V-for loop on main page uses the index as a key which results in incorrect mapping. The aim here is to set the key to the board ID and change the architecture of the kanban route to work using that ID instead of the index.

Delete confirmation when trying to delete a board or card in Kanban view

X icon on Kanban cards/columns should show a delete confirmation modal asking for a confirmation on this destructive action.
For power users, a double click could be a shortcut bypassing this confirmation.
The double click logic can be achieved with the ClickCounter component which is already used for the quick edit/modal open login inside the Kanban card component.

Reminders with push notifications

Add a due date to each card, send a push notification when the due date has been hit. Also show the due date on the card and mark the status using a color, for example no color for a due date which is still far away, orange for a due date which is close (1-2 days) and red if the date has been hit or is overdue (past the date).

Make confirmation modals reusable

Solutions like useConfirmDialog from VueUse would be suitable to replace simple yes or no modals like the modals to delete a board.
Make these modals promise-based so they do not clutter the page templates.

Theme picker sometimes does not work

When quickly changing between themes, the theme sometimes does not update on clicking the theme icon, but only after reloading.
The cause of this is unknown, help needed.
Theme implementation is done using the settings page and the default layout, connecting them with global emits.

Make card tasks draggable & editable

When clicking on a Kanban card, the Modal opens where you can add tasks.
Currently, you are unable to move them around.
The expected behaviour here would be to use vue3-smooth-dnd to allow dragging tasks up and down (lock axis to vertical to achieve this) to reorder them.

  • Drag tasks
  • Edit tasks using edit icon or by double clicking a task

Bug: Iconify icons don't load when offline

On machines without internet access (or in my case where I use lulu to restrict applications from accessing internet) it is observed that Kanri doesn't load the icons and only placeholder text is shown. Once internet is restored then it downloads and caches the icons for some time.

Proposed solution is to bake icons during compile time.
Screenshot 2023-09-03 at 05 06 27
Screenshot 2023-09-03 at 05 06 33

Refactor card component (merge into one)

At the moment there is the and component which is a useless abstraction and adds unwanted complexity. By merging these components into one, complexity would be reduced, with the only tradeoff being a larger file for the card component which might be a bit harder to navigate.

Bug: Application refuses to open on M1 Mac

I recently did 2 changes together, so this might perhaps be a hisenbug - but it is persistent on my machine.

A few days ago upgraded to latest Ventura from one version behind. Previously installed Kanri (0.4.3) was launching just fine, but performance started degrading slowly over several hours. Another change I then introduced was to test homebrew install (works fine)... The downloaded application wasn't opening unless xattr -cr was used.

Now application started taking several minutes to launch. Also tried to export full data in json file which took ~5 minutes as compared to 1 sec previously.

A day after, application outright refuses to load even after hours. Tried 3 previous kanri versions and both aarch64 and intel architectures... application loads as seen in the activity monitor, however, quickly goes into not responding state. Attached whatever logs made sense to me. Let me know if you require more debug information and how to gather it.

System configuration: Apple M1 Max/32 GB/Ventura 13.5.1 (22G90)

This is the dump from activity monitor: Sample of kanri.txt

Screenshot 2023-08-31 at 07 50 33 Screenshot 2023-08-31 at 15 24 46

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

cargo
src-tauri/Cargo.toml
  • serde_json 1.0
  • serde 1.0
  • tauri 1.6.1
  • ignore =0.4.22
  • tauri-build 1.5.1
dockerfile
Dockerfile.arm64
Dockerfile.armv7
github-actions
.github/workflows/devskim.yml
  • actions/checkout v4
  • microsoft/DevSkim-Action v1
  • github/codeql-action v3
  • ubuntu 20.04
.github/workflows/release.yml
  • actions/checkout v4
  • actions/setup-node v4
  • tauri-apps/tauri-action v0
  • actions/checkout v4@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-node v4
  • NBTX/upload-release-assets v1
  • ubuntu 20.04
.github/workflows/test_frontend.yml
  • actions/checkout v4@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-node v4
  • ubuntu 20.04
.github/workflows/test_tauri.yml
  • actions/checkout v4@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-node v4
  • actions-rs/toolchain v1
  • tauri-apps/tauri-action v0
npm
package.json
  • @eslint/eslintrc ^3.1.0
  • @heroicons/vue 2.1.4
  • @paralleldrive/cuid2 ^2.1.0
  • @phosphor-icons/vue ^2.1.6
  • @pinia/nuxt 0.5.1
  • @popperjs/core ^2.11.8
  • @tauri-apps/api 1.5.6
  • @tiptap/extension-typography 2.4.0
  • @tiptap/pm 2.4.0
  • @tiptap/starter-kit 2.4.0
  • @tiptap/vue-3 2.4.0
  • @vojtechlanka/vue-tags-input ^3
  • mitt 3.0.1
  • pinia 2.1.7
  • radix-vue ^1.2.2
  • tauri-plugin-autostart-api 95dbee4b9e1209cbbea17c77d197b267fa7fe8d9
  • tauri-plugin-store-api 51717bbde4101f44d3e2191907419f6f7085e2ef
  • v-calendar ^3.1.2
  • vue-dragscroll ^4.0.5
  • vue3-smooth-dnd 0.0.6
  • zod ^3.20.6
  • @nuxt/eslint ^0.3.13
  • @nuxt/eslint-config 0.3.13
  • @nuxtjs/tailwindcss 6.12.0
  • @tauri-apps/cli 1.5.14
  • @types/node ^20.14.7
  • @vueuse/core ^10.2.1
  • @vueuse/nuxt ^10.2.1
  • eslint 9.5.0
  • eslint-plugin-perfectionist ^2.2.0
  • eslint-plugin-tailwindcss ^3.8.0
  • nuxt ^3.7.1
  • nuxt-better-optimize-deps ^0.1.0
  • postcss-custom-properties 13.3.10
  • rollup-plugin-license ^3.0.1
  • typescript ^5.4.5
  • terser 5.31.1
  • undici 6.19.2
  • json5 2.2.3
  • semver 7.6.2

  • Check this box to trigger a request for Renovate to run again on this repository

Home Menu Vertical Overflow

While testing Kanri on MacOS it Appeared to me that the Vertical Scroller is always visible in the Home Menu even though there is no overflow. This happens with every Window size.

image

Git sync

First of all, thank you very much for the project. I like it a lot.

Just an idea, it would be interesting to sync the data with a git repository and thus provide multi-host and history tracking:. Maybe with this https://docs.rs/git2/latest/git2/ can be enough.

Selected column is not marked/highlighted

From help:
"Ctrl/Command + Arrow Keys Left and right - Switch columns for title editing and card adding"

This works fine but only when pressing ctrl+t or ctrl+n one can see in which column the action takes place.
There is no visible change of color/border when switching columns.

Feature Request: Change view to show/hide tasks on the board

It would be nice to be able to switch the view (by shortcut)
so instead of

1/3 (saying one of three tasks is checked)

the three tasks are shown on the board in all cards which have tasks inside - and one has the ability to check them without opening the card

  • 1...
  • 2...
  • 3...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.