dlx-claude/memory/hiveops-browser/MEMORY.md

1.4 KiB

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 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