diff --git a/memory/hiveops-browser/MEMORY.md b/memory/hiveops-browser/MEMORY.md new file mode 100644 index 0000000..ef96dff --- /dev/null +++ b/memory/hiveops-browser/MEMORY.md @@ -0,0 +1,25 @@ +# HiveOps Browser Project Memory + +## Architecture +- **Browser**: Electron app at `/source/hiveops-src/hiveops-browser` +- **Mgmt Server**: Spring Boot at `/source/hiveops-src/hiveops-mgmt` +- IPC pattern: kebab-case channels (`get-config`), camelCase in preload (`getConfig`) +- API client returns `{ success, data }` or `{ success, error, status, code }` +- DTOs use Lombok `@Data @Builder @NoArgsConstructor @AllArgsConstructor` +- Services use `@RequiredArgsConstructor @Slf4j`, `@Transactional(readOnly=true)` for reads +- Controllers use `@RestController @RequestMapping("/api/v1/...")` with OpenAPI annotations +- Security: 3 filter chains (API@Order1, Portal@Order2, Default@Order3) +- Flyway migrations in `db/migration/`, H2 dev data in `db/h2/data.sql` (MERGE INTO syntax) +- H2 uses `CHAR(10)` for newlines (no `E'...\n...'` like PostgreSQL) + +## Key Files +- `src/main/main.js` - Main process, IPC handlers, window management (~1400 lines) +- `src/main/api-client.js` - Axios-based API client +- `src/main/preload.js` - contextBridge IPC exposure +- Window pattern: check if exists, focus; else create BrowserWindow with preload + +## Legal Content (Added Feb 2026) +- Legal API: `GET /api/v1/legal` and `GET /api/v1/legal/{section}` (public, no auth) +- 4 settings in `global_settings`: `legal.copyright`, `legal.license`, `legal.usagePolicy`, `legal.disclaimers` +- About page has tabbed layout: Info, License, Usage Policy, Disclaimers +- About window size: 650x700 diff --git a/memory/hiveops-incident/MEMORY.md b/memory/hiveops-incident/MEMORY.md new file mode 100644 index 0000000..fa6e7dc --- /dev/null +++ b/memory/hiveops-incident/MEMORY.md @@ -0,0 +1,15 @@ +# HiveOps Incident - Key Learnings + +## Project Structure +- Frontend: SvelteKit at `frontend/`, backend: Spring Boot at `backend/` +- CSS is split between standalone `.css` files (Dashboard, IncidentList, AtmHistory, JournalEvents, CreateIncident) and scoped `