diff --git a/TODO.md b/TODO.md index 574c7090..a3f1c759 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,4 @@ -# Project TODO +# One Sky IT's Aether UI/UX Project TODO This is a list of tasks to be completed before the next event/show/conference. @@ -20,7 +20,7 @@ This is a list of tasks to be completed before the next event/show/conference. - Able to cache data and mostly work offline. - The new Events Launcher must be able to work offline and query the API for changes to data. -- The new Events Launcher must be able to run inside an Electron app and have access to local files and commands. This includes loading a special library that only works in Electron. +- The new Events Launcher must be able to run inside an Electron app and have access to local files and OS shell commands and applications. This includes loading a special library that only works in Electron. --- @@ -258,3 +258,105 @@ These functions are frequently used and critical to the application's data flow. - **Wording:** Standardize the text used in common UI elements (e.g., "Save", "Cancel", "Delete", "Add New"). - **Scope:** This should be done on a per-module basis to ensure local consistency, with a goal of achieving global consistency where possible. - **Note on IDAA:** The `idaa` modules are semi-custom for a client and may have their own specific UI/UX requirements. Their consistency should be evaluated separately, keeping the client's needs in mind. + +--- + +## Scott's Quick Notes +These are just quick notes, thoughts, ideas, and reminders for myself. + +- I need to explain the purpose and thought behind the data_store element or component and how it works. The short version: It is a hierarchy of database results, but only the last result is returned. The results are filtered by data store key/code, then by account_id, and then by for_type and for_id. This allows for shared data among accounts, but also account specific overrides. Finally, it allows for object specific overrides. +- Use old Events Leads module as reference for new one +- Use old Events Badges module as reference for new one +- Use old Events Launcher module as reference for new one +- The Launcher will need some work to make it work offline and in Electron +- Events Leads: mobile first, but still works on desktop +- Need to be able to enable and disable modules per event (e.g., some events may not need Leads or Badges) +- In theory session codes should be unique per event. This depends somewhat on the client's data and needs. +- The codes for locations/rooms should also be unique per event. +- The codes for devices should also be unique per event. +- Reports are manually created and shared among events and clients. We need to be able to enable/disable reports per event. Each report will have its own Svelte page. + +### Events modules and main landing pages +- **Presentation Management** + - Manage + - Session Search + - View Session + - View Presenter + - Locations List + - View Location + - Devices List + - View Device + - Reports +- **Launcher** (desktop first; tablet second; mobile last) + - Manage - Various admin and configuration options + - Menu Section - Event; Location; Sessions; Show/Hide + - Content Section - Shows session specific files; Shows session specific presentations; presentation specific presenters are shown per presentation; presenter specific files are shown per presenter + - Header Section - Event Name; Location Name; Current Time; Offline/Online Status; Sync Status + - Footer Section - Other status indicators; sync button +- **Badge Printing** + - Manage + - Print Badges + - View Badge (show full preview before printing) + - Review Badge (attendee confirms key info before printing; agree/disagree to terms; agree/disagree to lead retrieval and tracking) + - Manually add Badge + - Reports +- **Lead Retrieval** + - Manage + - View Leads + - Add Lead (Scan or Manual Entry) + - License Management and Payment (Stripe) +- **Admin or Manage or Configure Event** + +### New Directory Structure? +- src/lib/ - Shared libraries and components +- src/routes/core/ - Core Aether management module + - sub-directories for: + - accounts + - account (by ID) + - sites + - site (by ID) + - site_domains + - site_domain (by ID) + - people + - person (by ID) + - users + - user (by ID) + - hosted_files + - hosted_file (by ID or partial hash match???) + - lookups + - (countries) + - (state_provinces) + - (time_zones) +- src/routes/events/ - Events main landing page and event management +- src/routes/events/[event_id]/(presentations)/ - Event presentation management module + - sub-directories for: + - sessions + - session (by ID or code) + - presentations + - presenters + - presenter (by ID or code???) + - event_files + - locations + - location (by ID or code) + - devices + - device (by ID or code) + - reports + - report (by name of report) +- src/routes/events/[event_id]/(launcher)/ - Event launcher module +- src/routes/events/[event_id]/(badges)/ - Event badge printing module +- src/routes/events/[event_id]/(leads)/ - Event lead retrieval module + - src/routes/events/[event_id]/+page.svelte - Event main dashboard + - [event_id]/exhibit/[exhibit_id]/ - Exhibitor specific lead retrieval pages +- src/routes/journals/ - Journals module +- src/routes/idaa/ - IDAA custom modules + - (archives)/ - Archives module + - (bb)/ - Bulletin Board module + - (recovery_meetings)/ - Recovery Meetings module +- src/lib/ae_core/ - Core Aether logic and data models +- src/lib/ae_events/ - Events module logic and data models +- src/lib/ae_journals/ - Journals module logic and data models +- src/lib/ae_idaa/ - IDAA custom modules logic and data models +- src/lib/components/ - Shared Svelte components +- src/lib/stores/ - Shared Svelte stores +- src/assets/ - Assets like CSS, Tailwind config, etc.??? +- static/ - Static assets like images, fonts, etc. \ No newline at end of file diff --git a/package.json b/package.json index 5d1a114b..95935d27 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "osit-aether-app-svelte", - "version": "3.9.6", + "version": "3.11.18", "description": "One Sky IT's Aether App created with Svelte, SvelteKit, Tailwind CSS, Lucide, Font Awesome, and Skeleton UI. -Scott Idem", "homepage": "https://oneskyit.com/", "private": true,