WerkJS Planner
JS Planner

Het doel
Een eigen planner voor het team, om samen aan CATCH IT! en andere projecten te werken: ideeën verzamelen, taken plannen, screenshots erbij en elkaar meldingen sturen. Hij vervangt Trello.
Hij is alleen voor ons team en draait op een eigen subdomein.
De aanpak
- Gewoon het web. HTML, CSS en JavaScript zonder framework en zonder build-stap, met een PHP-back-end en een SQLite-database. Draait op een gewoon webhostingpakket.
- Eerst één gebruiker, meteen voor meer. Het datamodel kende vanaf het begin meerdere gebruikers, zodat een teamlid toevoegen en meldingen tussen accounts later geen herbouw vroegen.
- Beveiliging ingebouwd. Elke schrijfactie vraagt een eigen header als CSRF-bescherming, de API heeft een limiet per IP-adres, en één JS Studio-account werkt over onze subdomeinen.
- Getest. API en live synchronisatie hebben geautomatiseerde tests.
Wat we bouwden
- Borden, kolommen en kaarten. Met checklists, labels, stemmen, deadlines, prioriteit, bijlagen en reacties met @vermeldingen. Slepen werkt ook op touch.
- Vier weergaven per bord. Bord, lijst, kalender en overzicht met grafieken, plus Mijn taken en een kalender over alle borden.
- Zoeken en filteren. Zoeken over alles met Ctrl+K, filteren op tekst, label, persoon en deadline.
- Meldingen. Bij toewijzingen, reacties en deadlines, ook als web push wanneer de site dicht is.
- Installeerbaar. Als app (PWA) met een eigen icoon, in licht of donker thema en bruikbaar op de telefoon.
- Live synchronisatie. Wijzigingen van een ander verschijnen vanzelf, zonder herladen.
- Importeren en back-up. Een Trello-export importeren en alles exporteren als JSON.
De lastigste uitdaging
Live synchronisatie werkt via polling, omdat SSE op gedeelde hosting onbetrouwbaar is. De client vraagt elke 4 seconden wat er sinds een revisienummer veranderd is, en gooit een antwoord weg als je intussen zelf iets wijzigt.
Beelden


Zoiets nodig?
Vertel ons wat je wilt bouwen. We reageren per e-mail.