FreightDesk
8e67cb98ae
[OWL] REST API layer + Portal user management
...
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
REST API (/api):
- Full CRUD for loads, shippers, vehicles, payments
- Dashboard stats endpoint (/api/stats)
- Pagination, filtering, sorting on all list endpoints
- Role-based access control on write operations
- Soft delete support
Portal User Management (/portal-users):
- Admin UI to create shipper/driver portal accounts
- Link portal users to existing shippers/drivers
- Enable/disable accounts
- Reset passwords
- Lists all portal accounts with status
Architecture decision documented: keeping EJS+React CDN widgets as primary
2026-06-08 00:49:23 +00:00
FreightDesk
7cee10cba8
[OWL] Respond to Hermes' hybrid architecture proposal
...
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
- Agree: hybrid instinct is right, shared service layer is good
- Disagree: SPA overkill for single-agent freight business
- Disagree: Hermes' analysis omits security, feature loss, code bugs
- Recommendation: Keep EJS + React CDN widgets (done, works, right for scope)
- Document full back-and-forth in AGENT_COMMS.md
2026-06-08 00:45:20 +00:00
FreightDesk
e74f321791
[OWL] Driver portal + Invoice PDF generation
...
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
Driver Portal:
- Refactored portal routes with shared auth + role-aware dashboard
- Driver dashboard (trips, earnings, advance, active loads)
- Driver load list (filterable, paginated)
- Driver load detail (with settlement summary: freight, commission, advance, balance)
- Shared login page detects role from credentials
Invoice PDF:
- Invoice PDF service (puppeteer-based, falls back to HTML)
- Professional invoice template (tricolor, Hindi+English, GSTIN)
- Commission calculation with TDS deduction (10%)
- GET /invoices (list, filterable by year/month)
- GET /invoices/:id (HTML preview with print button)
- GET /invoices/:id/pdf (PDF download)
- Invoices link in sidebar
2026-06-08 00:40:16 +00:00
FreightDesk
a7e40ed83a
[OWL] Architecture analysis: EJS+React widgets vs full React SPA
...
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
Comprehensive technical comparison showing why EJS+React CDN widgets
is the right choice for this project:
- One codebase, simpler deployment, no CORS/proxy config
- Server-side sessions more secure than client-side Supabase auth
- Preserves audit logging, client portal, CI/CD, tests, observability
- Identifies bugs in Hermes' React code: deprecated createBrowserRouter,
React 17/18 API mismatch, Bootstrap deps missing, SQL injection risk,
no CSRF protection, useEffect redirect anti-pattern
Recommendation: Keep EJS widgets architecture, migrate to React gradually
by embedding components in EJS views loaded via CDN.
2026-06-08 00:34:02 +00:00
FreightDesk
7cdd4ce8be
[OWL] Add architecture discussion notes for Hermes agent
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
2026-06-07 20:07:06 +00:00
FreightDesk
63ed6c445f
[OWL] Client portal: shipper login + dashboard + load views
...
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
- Shipper portal auth (login/logout with bcrypt sessions)
- Shipper dashboard (stats: total loads, freight, paid, pending)
- Shipper load list (filterable by status, paginated)
- Shipper load detail (with payment history)
- Audit service helper (setAuditUser for session context)
- Wire /portal route into server.js
2026-06-07 20:05:52 +00:00
FreightDesk
795cc86b5a
[OWL] Audit logging: cherry-pick Hermes' audit SQL, add routes + views
...
From Hermes' agent/default/soft-delete-audit branch:
- Add migration 004_audit_logging.sql (audit_logs table, trigger function,
triggers on loads/shippers/vehicles/payments/portal_users,
set_audit_user() helper function)
- Improved: uses IF NOT EXISTS, AFTER triggers, user session context var,
distinguishes SOFT_DELETE vs HARD_DELETE, notes field
New:
- GET /audit-logs (admin-only, filterable by table/action, paginated)
- GET /audit-logs/:id (detail view with before/after JSON)
- Audit Logs link in sidebar
Keeps all existing OWL code: CI/CD, Pino, Prometheus, tests, cache-busting,
debounced search, ESLint, Prettier
2026-06-07 20:03:23 +00:00
FreightDesk
071f759b8a
[OWL] Wire setup route file, remove inline setup routes from server.js
FreightDesk CI/CD / Lint & Test (push) Waiting to run
FreightDesk CI/CD / Build Docker Image (push) Blocked by required conditions
FreightDesk CI/CD / Deploy to Coolify (push) Blocked by required conditions
2026-06-07 19:52:25 +00:00
FreightDesk
0da63ae676
[OWL] Roadmap batch: CI/CD, observability, testing, UX polish
2026-06-07 19:49:46 +00:00
Hermes Agent
f1c75faba1
feat[agent]: add admin setup wizard (first-time admin creation) with secure password handling
2026-06-07 19:46:54 +00:00
FreightDesk
02d2374ae5
[OWL] Update work queue — security fixes done, roadmap items pending
2026-06-07 19:36:13 +00:00
FreightDesk
958fd74af5
[OWL] Restore auth.js — keep requireRole middleware (more complete than agent version)
2026-06-07 19:35:34 +00:00
FreightDesk
63e0be75b7
Merge remote-tracking branch 'origin/agent/default/security-improvements'
2026-06-07 19:35:10 +00:00
FreightDesk
5e10afebf1
[OWL] Security fixes: remove hardcoded password, add setup form, soft-delete migration
...
- Replace hardcoded admin123 with user-defined password via /setup form
- Add proper GET/POST /setup routes
- Create setup.ejs view with password validation (min 6 chars)
- Add migration 003: soft-delete columns (deleted_at) on loads/payments/shippers/vehicles
- Add load_count column to shippers
- requireRole middleware already present in auth.js
2026-06-07 19:34:22 +00:00
Hermes Agent
870a2501eb
feat[agent]: add role-based access control to auth middleware
...
- Modify requireAuth middleware to enforce role filtering
- Prevent unauthorized access to protected routes
2026-06-07 19:29:57 +00:00
Hermes Agent
66da3e32f8
feat[agent]: add monitoring script and improvement roadmap
2026-06-07 19:26:17 +00:00
FreightDesk
7ad1119349
[OWL] Update agent registry and work queue
2026-06-07 19:14:40 +00:00
FreightDesk
47a4c76ae8
Merge branch 'agent-owl'
2026-06-07 19:13:51 +00:00
FreightDesk
924a0381b3
[OWL] Add collaboration guide for multi-agent workflow
2026-06-07 19:11:45 +00:00
Hermes Agent
c2f82efe39
chore[agent]: initialize agent collaboration framework
...
- Add AGENTS.md with git workflow and agent responsibilities
- Add AGENT_NOTES.md for work queue and change tracking
2026-06-07 19:05:51 +00:00
FreightDesk
1a4eaaa040
Initial commit: FreightDesk v1.0
...
- Express + EJS server-rendered app
- Supabase PostgreSQL database
- Auth: username/password with bcrypt
- Dashboard with business stats
- Load CRUD with filters
- WhatsApp message parser
- Payment tracking
- Shipper & vehicle management
- Reports (monthly, top shippers, routes)
- Government-app aesthetic (tricolor theme)
- Dark mode support
- Docker + Coolify deployment ready
- Seed data from existing business ledger (88 loads, 41 shippers, 70 vehicles)
2026-06-07 18:57:24 +00:00