← Kód máme venku

OwnDeck

Mobilní klient Nextcloud Decku pro Android a iOS: nástěnky, karty, komentáře a přílohy i bez připojení. Flutter, zatím v uzavřeném testování.

Náhled OwnDeck

Nextcloud Deck je kanbanová nástěnka na vlastním serveru Nextcloud: sloupce, karty, štítky, termíny, komentáře a přílohy, podobně jako Trello, jen data zůstávají u provozovatele. Kdo v Decku řídí práci týmu nebo vlastní úkoly, potřebuje ho i v telefonu, a to i tam, kde signál vypadává. OwnDeck je nezávislý mobilní klient Decku pro Android a iOS, napsaný ve Flutteru. Nejdřív ukáže, co má uložené v telefonu, každou změnu si zapíše a odešle ji, jakmile je server dostupný.

Proč další klient pro Deck

Pro Android existuje oficiální aplikace Deck a OwnDeck se jí při plánování funkcí inspiruje, například u synchronizace na pozadí. Sám přitom stojí na jednom kódu pro Android i iOS a na zásadě, že práce napsaná bez připojení se neztratí a neodešle dvakrát. Webové rozhraní Decku v prohlížeči telefonu bez připojení nefunguje; OwnDeck nástěnky, karty i rozepsané komentáře drží v místní databázi.

Úvodní obrazovka aplikace OwnDeck s polem pro adresu Nextcloud serveru a tlačítky Pokračovat a Načíst přihlašovací kód
Úvodní obrazovka na telefonu s Androidem. Přihlášení proběhne v prohlížeči na vlastním serveru, nebo načtením kódu QR.

Co OwnDeck uživateli dává

Celá nástěnka v telefonu

  • zakládá a upravuje nástěnky, sloupce a karty: popisy v Markdownu, štítky, přiřazení lidí, termíny, barvy, propojené karty a sloupce pro hotové karty,
  • karty přesouvá a kopíruje, i mezi nástěnkami, a víc karet najednou přesune, archivuje nebo obnoví,
  • v editoru karty nabízí rychlé termíny Dnes, Zítra, Příští týden a Bez termínu,
  • u karty vede komentáře se zmínkami, které našeptává z účastníků nástěnky, a přílohy z telefonu nebo z Nextcloudu, které jde stáhnout i vyexportovat.

Moje úkoly a kalendář

Přehled Moje úkoly sdruží karty ze všech nástěnek pod záhlaví Po termínu, Dnes, Zítra, Tento týden, Později a Bez termínu. Přepnout jde na měsíční kalendář s agendou dne, který čte z místních dat. Kartu jde odškrtnout přímo z přehledu, z hledání i z kalendáře. Volitelná připomínka termínu přijde jako místní oznámení i při zavřené aplikaci a otevře kartu ve správném účtu.

Práce bez připojení, která se neodešle dvakrát

Každá změna se zapíše do místní databáze SQLite a do fronty, odkud se odešle, jakmile je server dostupný. Rozepsaná karta nebo komentář přežije i restart aplikace. Když se změna na serveru střetne s jinou, aplikace si nechá obě verze a rozhodnutí přenechá uživateli. Vytvoření karty nebo komentáře, u kterého vypršelo spojení, aplikace sama znovu neposílá, protože na serveru už mohlo proběhnout; místo duplikátu uživateli řekne, že výsledek není jistý.

Odesílání na pozadí je volitelné. Na Androidu běží přes WorkManager s intervalem 15 minut, 1 hodina nebo 6 hodin a s volbou jen přes Wi-Fi, na iOS přes plánovač úloh v mezích, které dovolí systém.

Víc účtů a odkazy na karty

OwnDeck pracuje s víc účty a servery najednou a jejich data drží odděleně, i když se na dvou serverech potkají stejná čísla nástěnek. Odkaz na konkrétní kartu otevře kartu ve správném účtu. Hledat jde v uložených datech i na serveru.

Detail karty Připravit podklady s termínem, štítkem Plánování, odkazy na komentáře, přílohy a propojené karty a popisem s odrážkami
Detail karty s termínem, štítkem a popisem v Markdownu.

Jak to funguje

Kód je rozdělený na tři části. Aplikace v apps/mobile obsahuje obrazovky, bezpečné úložiště a práci se soubory. Balík deck_protocol nese datové modely, přihlášení přes Nextcloud Login Flow v2 a klienta pro REST a OCS. Balík deck_store drží místní databázi nad knihovnou Drift a frontu zápisů. Stav do obrazovek předává Riverpod. Rozdělení má praktický důsledek: protokol a databáze se testují samostatně v čistém Dartu, bez telefonu.

Aplikace potřebuje Android 7 nebo iOS 14 a server Nextcloud s Deck API 1.1 dostupný přes HTTPS. Proti živému serveru je ověřená s Deckem 1.18.5. Přesun karty mezi nástěnkami prošel i integračním testem v CI proti Nextcloudu 35.0.2 s Deckem 1.19.1, a to pro vlastníka nástěnky i pro uživatele, který smí karty upravovat, ale nástěnku nespravuje: karta si ponechá číslo, komentáře, přiřazení i obsah příloh.

Pro koho to je

  • Pro týmy, které plánují práci v Decku na firemním Nextcloudu a chtějí karty, termíny a komentáře v telefonu s Androidem i s iOS.
  • Pro lidi, kteří Deck používají jako osobní seznam úkolů a potřebují přehled termínů a připomínky.
  • Pro práci v terénu se slabým signálem, kde se změna musí zapsat hned a odejít později.
  • Pro ty, kdo mají účty na víc serverech, třeba vlastní a zákaznický Nextcloud.

Soukromí a zabezpečení

Heslo aplikace se ukládá do Klíčenky na iOS a do Keystoru na Androidu, nikdy do databáze karet. Oficiální sestavení posílá hlášení chyb do Sentry a omezené statistiky do Rybbitu. Obojí je po instalaci zapnuté a v aplikaci jde vypnout každé zvlášť. Sběr nativních pádů, zamrznutí, záznamů relací a automatických relací je vypnutý. Sestavení ze zdrojového kódu bez konfigurace telemetrie tyto služby vůbec nespustí.

Stav projektu a plány

Verze 0.1.4 z 27. října 2026 je v uzavřeném testování na Google Play a v TestFlightu a 27. října odešla ke kontrole do App Storu. Na Google Play čeká vydání na podmínku obchodu: dvanáct testerů po čtrnáct dní v uzavřeném testu.

Systémová oznámení push tahle verze nemá. V aplikaci je jen přehled oznámení z Decku a místní připomínka termínu. Rozhraní je česky a anglicky.

Aplikace prochází redesignem celého rozhraní a úplné ověření všech funkcí na finálním kandidátovi, na telefonech Galaxy S9 a S21 a v simulátoru iOS, je ještě otevřené. Měření plynulosti ukazuje, kde to drhne: na Galaxy S21 se 95 % snímků při posouvání nástěnky vykreslí do 10,1 ms, cíl je 16,7 ms; na starším S9+ je to 28,7 až 30,7 ms a cíl zatím splněný není.

V plánu jsou:

  • verze pro Windows, macOS a Linux; vydání pro Windows už otevře okno OwnDecku za 1,1 sekundy, instalátor a podepsaná vydání zbývají,
  • sdílení fotek a souborů z jiných aplikací jako přílohy karty a fotka přímo z detailu karty,
  • widget Moje úkoly na plochu a zkratka Přidat kartu,
  • společné přihlášení s OwnTalkem a OwnNotes: účet přihlášený v jedné aplikaci nabídnou ostatní na přihlašovací obrazovce, vždy jen se souhlasem.

Ke stažení

  • Google Play: veřejně v obchodě zatím není. Do uzavřeného testu se jde přihlásit účtem Google přes stránku testování.
  • iOS: v App Storu zatím není, verze 0.1.4 čeká na schválení Applem. Do té doby jsou sestavení v TestFlightu; pozvánku jde vyžádat na dev@nks-hub.cz.
  • Ze zdrojového kódu: hotové balíčky na GitHubu nejsou. Vývojové sestavení se spustí příkazy flutter pub get a flutter run v adresáři apps/mobile; potřebuje Flutter 3.44.4 a pro iOS Xcode 26.3.

Vlastní web OwnDeck zatím nemá.

Zdrojový kód

Kód je na GitHubu v repozitáři nks-hub/owndeck pod licencí MIT. Specifikace produktu, rozbor API Decku a popis architektury jsou v repozitáři česky.

← Zpět na přehled