1.4 KiB
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 indb/h2/data.sql(MERGE INTO syntax) - H2 uses
CHAR(10)for newlines (noE'...\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 clientsrc/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/legalandGET /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