# TODO Concrete follow-up work for Jellomator. ## P0 - Add a backup and restore flow for `jellomator.sqlite` in the admin UI. - Let an admin download the current database. - Let an admin upload a replacement database after confirmation. - Validate that the uploaded file is SQLite before swapping it in. - Add a basic health endpoint for Docker and orchestration. - Return `200` when the app can read and write the database. - Return `503` if startup initialization or DB access fails. - Add login rate limiting. - Track failed attempts per session or IP. - Temporarily block repeated failures. - Add session expiry controls. - Expire idle admin sessions after a configurable period. - Renew active sessions on successful requests. ## P1 - Add drag-and-drop ordering for service cards. - Persist display order in SQLite. - Support moving a card up, down, or to the top in admin. - Add a featured/pinned flag for important links. - Keep pinned links above the normal list. - Let admins toggle pinned status from the edit form. - Add multi-category support. - Store categories as a normalized table or join table. - Allow filtering by more than one category in the dashboard. - Add duplicate/cloning for existing links. - Pre-fill a new form from an existing service. - Keep the original service unchanged. - Add a public read-only mode. - Hide admin-only links from the dashboard. - Keep the same UI but remove edit affordances. ## P2 - Add more presets for common self-hosted apps. - Suggested first set: Paperless-ngx, Immich, Grafana, Home Assistant, Vaultwarden. - Make each preset editable after insertion. - Add JSON import/export for services. - Include metadata and icon blobs in the export format. - Support importing a whole dashboard from a single file. - Add better icon handling. - Show initials when no icon exists. - Allow cropping or centering uploaded icons. - Add audit history for admin changes. - Record create, update, delete, and preset actions. - Show a simple timeline in the admin area. - Add a compact dashboard mode. - Reduce card padding and text size. - Make it easier to scan large lists of links. ## P3 - Add keyboard shortcuts for search and quick launch. - Add a toast system for save, delete, and upload actions. - Add Open Graph metadata for better link previews. - Add structured JSON logging for auth and CRUD events. - Add a small command or script to reset seed data for local development. - Add a CI verification step that builds the container image after publish.