Commit Graph

20 Commits

Author SHA1 Message Date
Bernt cb4a273733 feat: Add Grafana panels, fix Ledger auth, update PM2 versions
BOC CI/CD / Test (push) Failing after 5s
BOC CI/CD / Security Scan (push) Has been skipped
BOC CI/CD / Build & Push (push) Has been skipped
BOC CI/CD / Deploy to Staging (push) Has been skipped
BOC CI/CD / Deploy to Production (push) Has been skipped
- Add GrafanaPanel component for system health monitoring
- Update DashboardPage with Grafana iframe panels
- Fix Ledger auth middleware (TICKET-009)
- Update PM2 proxy package.json versions
- Deploy BOC frontend via PM2
2026-07-29 22:29:07 +00:00
Bernt 1d23e89b18 feat(api): add /api/v1/health endpoint for ledger integration 2026-07-29 21:25:26 +00:00
Bernt 43b86abfa6 deploy: Remove Grafana panels and deploy to production
- Remove Grafana iframe panels (CORS issues)
- Deploy frontend to /var/www/boc via NGINX on port 8088
- API proxy configured to boc-api on port 9096
- All ledger features working: Balance Sheet, Income Statement, Accounts Table
- Period selector, Drill-down, Export buttons included
2026-07-29 20:47:46 +00:00
Bernt dd145bc3d9 feat: Add 4 major features to BOC Dashboard
1. Balance Sheet Chart — grafisk visning med progress bars
   - Assets (grön), Liabilities (röd), Equity (blå)
   - Balance check längst ner

2. Period-väljare — dropdown för månadsval
   - 2026-02, 2026-03, 2026-04

3. Drill-down — klicka på konto för transaktionshistorik
   - Modal med Date, Description, Debit, Credit, Balance
   - Mock data (ersätt med API-anrop)

4. Export-knappar — SIE4, PDF, CSV
   - Download-funktionalitet
   - Loading-tillstånd

Alla komponenter bygger och integreras i DashboardPage.
2026-07-29 20:17:34 +00:00
Bernt f793fc46a4 feat: Add Income Statement to DashboardPage + fix account types
- Add Income Statement section with Revenue and Expenses tables
- Color-code revenue (green) and expenses (red)
- Show Net Income prominently at bottom
- Fix SQL query to use LOWER() for case-insensitive matching
- Update account types in DB (asset/liability/revenue/expense/equity)
- Balance Sheet and Income Statement now work correctly
2026-07-29 20:11:13 +00:00
Bernt f967d1a810 feat: Add Ledger Accounts table to DashboardPage
- Add ledgerAccounts state with LedgerAccount type
- Fetch accounts from ledgerApi.accounts()
- Add table with Code, Name, Type, Balance columns
- Color-code positive/negative balances
- Build passes successfully
2026-07-29 20:01:23 +00:00
Bernt bd28b60338 feat: BOC ledger-integration frontend + backend fixes
- Uppdatera robust_client.go med rätt tabellnamn (boc_chart_of_accounts, boc_journal_lines, boc_journal_entries)
- Uppdatera kolumnnamn (entry_id istället för journal_entry_id, account_code istället för code)
- Hantera både stora och små bokstäver för account_type
- Lägg till ledgerApi i frontend med BalanceSheet, IncomeStatement, MomsReport
- Uppdatera DashboardPage med Ledger KPI-kort
- Lägg till LEDGER_DB_URL i docker-compose.yml
- Uppdatera Dockerfile till golang:1.25-alpine
2026-07-29 19:53:39 +00:00
Bernt f367eaadb8 fix: BOC ledger-integration — fixa robust_client för riktig DB-schema
- Uppdatera GetBalanceSheet att använda entry_date istället för period
- Uppdatera GetIncomeStatement att använda entry_date istället för period
- Uppdatera GetMomsReport att använda entry_date och ta bort status
- Lägg till integrationstester som verifierar mot riktig DB
- Alla tester passerar: GetAccounts, GetBalanceSheet, GetIncomeStatement, GetMomsReport
2026-07-29 19:24:03 +00:00
Bernt e5623d2f84 feat: integrate Grafana dashboards into BOC DashboardPage
- Add Infrastructure Health section with CPU/Memory/Disk panels
- Add Service Status section with PM2/Docker panels
- Create GrafanaPanel component for iframe embedding
- Build passes successfully
2026-07-29 19:03:06 +00:00
Bernt af874040ca BOC v1.0: RS256 auth, Ledger integration, Prometheus metrics, CI/CD, backup 2026-07-28 23:08:32 +00:00
Bernt (LandveX AI) 0b4f160af1 LINUS ROUND 5: RS256 default auth, middleware, full integration
- main.go: RS256Service with AAMOS public key, fallback to HS256
- auth/rs256.go: Middleware() for RS256 Bearer validation
- auth/rs256_test.go: 6 RS256 tests (middleware + validation)
- 27/27 auth tests passing, 82.6% coverage
- Build passes, all services operational
2026-07-14 17:52:23 +00:00
Bernt (LandveX AI) be2aba3919 LINUS ROUND 4: RS256 auth + ouroboros-identity integration
- auth/rs256.go: RS256 JWT validation with AAMOS public key
- auth/rs256_test.go: 4 RS256 tests (success, invalid sig, expired, HS256 reject)
- auth/integration_test.go: Real AAMOS identity service integration test
- Copied jwt-public.pem from /opt/amos/data/keys/
- ouroboros-identity running on port 3208
2026-07-14 17:40:13 +00:00
Bernt (LandveX AI) 6bb355ce17 LINUS ROUND 3: Unified AAMOS auth system for BOC
- auth/auth.go: AAMOS-standard JWT claims (sub, org_id, roles, scopes)
- auth/auth_test.go: 18 tests (login, validation, middleware, roles)
- Compatible with ouroboros-identity RS256 tokens
- Middleware: Bearer validation + RequireRole
- AAMOS_AUTH_AUDIT_REPORT.md: Full auth audit across all systems
2026-07-14 16:33:54 +00:00
Bernt (LandveX AI) a31f79c22a LINUS ROUND 2: Tests for automation + CRM handlers, fix vet errors
- automation/engine_test.go: 8 tests (cron parser, actions, start/stop)
- handlers/crm_test.go: 6 tests (CRUD + not-found)
- backend/main_test.go: config validation test
- Fixed websocket unreachable code
- Deleted events/kafka.go placeholder
2026-07-14 12:41:44 +00:00
Bernt (LandveX AI) c2b10347b1 LINUS ROUND 1: Delete dead code (rust/c), generic Store[T], tests, slim main.go
- Removed rust-service/, c-runtime/, kafka stubs
- Generic Store[T] pattern with real tests
- Slimmed main.go from 324 to ~50 lines
- Added config, middleware, store, ledger, pdf tests
- Frontend SPA shell with router
- Binary: 15.5MB -> 12MB
2026-07-14 12:31:55 +00:00
Bernt (LandveX AI) 95b581e8c5 fix(security): JWT require env, remove *** token, WS auth disabled
fix(automation): implement all 6 actions + real cron parser
fix(db): pq.Array for TEXT[], add sqlmock tests
fix(schema): single source migrations
docs: v2 architecture + frontend refactor proposals
2026-07-14 11:46:06 +00:00
Bernt (LandveX AI) 77465ee9eb feat(boc): Complete module pages with enterprise design
- All 9 module pages: Dashboard, CRM, Sales, Finance, HR, Legal, Marketing, Support, Automation
- Shared boc.js with API utilities
- Landvex enterprise design: dark sidebar, light content
- SVG icons, no emojis
- Tables with real data loading
- Consistent navigation and auth
2026-07-12 18:26:17 +00:00
Bernt (LandveX AI) 7f73e8f03f fix(dashboard): Fix JavaScript syntax errors in token handling
- Fixed Authorization header: '***' -> 'Bearer ' + token
- Fixed WebSocket URL: *** ->
- Dashboard should now load data correctly
2026-07-12 18:06:37 +00:00
Bernt (LandveX AI) 37a1af4a1f style(boc): Landvex design system — no emojis, light theme, professional
- Replaced all emojis with SVG icons (Lucide-style)
- Changed color scheme to Landvex blue (#0066FF)
- Light theme background (#f5f5f7)
- Professional typography (Inter, JetBrains Mono)
- Clean, minimal design following Design Constitution
- No decorative elements — information first
- Consistent with Landvex Enterprise platform
2026-07-12 17:17:26 +00:00
Bernt (LandveX AI) 67a69ab073 feat(boc): v1.0 - Complete Business Operations Center
- Go backend API with full CRUD for all modules
- Rust analytics service with parallel processing
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables
- Redis cache, Kafka event streaming
- WebSocket hub, automation engine
- PDF generation, Resend email integration
- JWT auth, multi-tenant
- Docker Compose deployment
- Nginx reverse proxy

Refs: BOC-001
2026-07-12 13:21:10 +00:00