Files
OSIT-AE-App-Svelte/TODO.md

6.3 KiB

One Sky IT's Aether UI/UX Project TODO

This is a list of tasks to be completed before the next event/show/conference.


Recent Accomplishments

  • JWT Authentication (2026-01-07): Implemented frontend infrastructure for JWT. Standardized usage across all CRUD V3 operations, updated authentication logic to capture tokens, and enhanced API helpers to automatically inject 'Authorization' headers using standard casing.
  • API Robustness (2026-01-07): Fixed a critical 'ReferenceError' in the POST helper and resolved 500 errors by standardizing header kebab-casing and preserving standard casing for keys like 'Authorization'.
  • Activity Log Management (2026-01-07): Fully migrated to V3 CRUD. Created a standalone management page and integrated filtered activity history into the Person detail view.
  • Editable Fields Whitelists (2026-01-07): Applied the editable_fields.ts pattern to all remaining AE objects across Journals, Events, and Sponsorships modules.
  • Core Module Migration (2026-01-06): Fully migrated Accounts, Sites, Site Domains, People, Users, and Activity Logs to Aether API CRUD V3. Implemented standardized "API -> Processor -> DB Save" pattern and editable field whitelists.
  • Core Management UI (2026-01-06): Scaffolded the management dashboard and list/detail routes for Accounts, Sites, Users, and Lookups.
  • Event Badges V3 (2026-01-06): Completed migration of Create, Update, and Delete operations to V3 nested CRUD.
  • IDAA Module Migration (2026-01-06): Migrated Archives and Recovery Meetings (Events) to V3. Implemented local filtering workaround for 'conference' field restriction.
  • Core Placeholders (2026-01-06): Built UI and V3 logic placeholders for Addresses and Contacts.
  • Journals Module Migration: Fully migrated to V3 CRUD.
  • UI Libraries Updated: Successfully updated SkeletonLabs to v4.7.4 and Flowbite-Svelte to v4.0.1.

Big Picture Goals

  • Everything needs to work with Svelte 5.x and SvelteKit 2.x.
  • Able to cache data and mostly work offline (using Dexie/IndexedDB).
  • The new Events Launcher must be able to run inside an Electron app and have access to local files and OS shell commands.

Aether API CRUD V3 Integration

  • Core API Wrappers:
    • Implement GET list and search wrappers (get_ae_obj_li_v3, search_ae_obj_v3).
    • Implement Create (POST) wrappers (create_ae_obj_v3, create_nested_obj_v3).
    • Implement Update (PATCH) wrappers (update_ae_obj_v3, update_nested_obj_v3).
    • Implement Delete (DELETE) wrapper (delete_ae_obj_v3).
    • Implement single object GET wrapper (get_ae_obj_v3).
  • Authentication & Security:
    • Standardize JWT usage in headers for all V3 calls.
    • Update file download logic to support JWT in URL parameters.
  • Site Domain Search Error (INVESTIGATION): Ongoing investigation into 500 Internal Server Error for site_domain/search during initial site lookup. Simplified search_query to use a global q parameter as a diagnostic step. Requires backend collaboration to determine correct search_query structure or frontend adjustment.
  • Module Migration:
    • Journals: Fully migrated to V3 CRUD.
    • Events - Badges: Fully migrated to V3 CRUD.
    • Core Modules: Fully migrated (Accounts, Sites, People, Users, Activity Log).
    • IDAA Modules: (In progress)
      • Archives & Archive Content.
      • Recovery Meetings (Events).
      • Bulletin Board (Posts).
  • Agent Coordination:
    • Establish identity as frontend_svelte.
    • Send test greeting to backend_fastapi.
    • Periodically check inbox for API updates.

Core Module Improvements

1. Core Module Dashboard

  • Create a central dashboard at /core to provide an overview and links to all core data management pages.

  • Add Activity Log management card.

  • Route: Create a new route at /core/accounts.

  • API: Implement functions in ae_core__account.ts for CRUD operations on accounts.

  • UI:

    • Create a +page.svelte to list all accounts.
    • Create a [account_id] dynamic route to view and edit account details.

3. Site & Domain Management

  • Route: Create a new route at /core/sites.
  • API: Implement functions in ae_core__site.ts for CRUD operations on sites and domains.
  • UI:
    • Create a +page.svelte to list all sites.
    • Create a [site_id] dynamic route to view and edit site details and manage associated domains.

4. Person Management

  • Enhance: Improve the existing person management components under /core/people.
  • UI:
    • Implement searchable person list (Comp_person_search).
    • Create a dedicated page/form for creating and editing person records.
    • Implement User-Person linking UI in the detail page.
    • Implement Linked Activity & Content section.

5. User Management

  • Route: Create a new route at /core/users.
  • UI:
    • Create a +page.svelte to list all users.
    • Create a [user_id] dynamic route to view and edit user details, including permissions.
    • Implement logic to link users to person records.

6. Shared Lookup Lists

  • Route: Create a new route at /core/lookups.
  • UI:
    • Create a simple UI to view and manage the shared lookup lists (e.g., countries, time_zones).

7. Address & Contact Management

  • Logic: Implement V3 CRUD wrappers and Dexie tables.
  • UI: Create placeholder list pages at /core/addresses and /core/contacts.
  • Detail Pages: Create dynamic routes for viewing and editing specific records.

Codebase Standardization

  • Naming Conventions: Enforce snake_case and consistent file naming (ae_<module>__<concept>.ts).
  • Rich Text Editor: Migration to CodeMirror complete.
  • Editable Fields: Apply the ae_<module>__<object>.editable_fields.ts pattern to all remaining objects.

UI/UX Consistency

  • Broad UI/UX Review: Standardize buttons, lists, and wording across all modules.
  • Component Migration: Replace remaining Skeleton UI classes with standard Tailwind CSS to minimize dependency conflicts.