Commit Graph

7 Commits

Author SHA1 Message Date
Elie Habib
995ade3f4b Split architecture: Vercel frontend + Railway WebSocket
- Railway: WebSocket relay only (simpler)
- Vercel: Frontend + API serverless functions
- Added Cloudflare Radar serverless proxy
- Removed auth header from frontend (serverless handles it)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 14:32:18 +04:00
Elie Habib
5d7fab64ae Fix: Convert Buffer to string for browser WebSocket clients
Node.js ws library receives messages as Buffer by default.
Browser WebSocket expects string data.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 14:24:12 +04:00
Elie Habib
3d1ab4cf58 Serve frontend + WebSocket from single Railway deployment
- Relay now serves static files from dist/
- Frontend connects to WebSocket on same origin
- Railway build: npm install && npm run build && cd scripts && npm install

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 14:19:39 +04:00
Elie Habib
fe1bccdd40 Add HTTP server for Railway health checks
Railway requires an HTTP endpoint for health checks. Added HTTP server
that responds to / and /health with status JSON, with WebSocket server
attached to the same HTTP server.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 14:01:33 +04:00
Elie Habib
24b95a4532 Prepare AIS relay for Railway deployment
- Add package.json for standalone deployment
- Use PORT env variable for Railway compatibility
- Support AISSTREAM_API_KEY env variable

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 13:50:59 +04:00
Elie Habib
70f26c9cf4 Remove hardcoded API key from relay script
Require VITE_AISSTREAM_API_KEY env variable instead of fallback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 13:44:19 +04:00
Elie Habib
a9d67ed7aa Rename AIS to Shipping, add WebSocket relay for live vessel tracking
- Rename AIS layer to "Shipping" throughout UI for clarity
- Add local WebSocket relay server to proxy aisstream.io data
- Fix cable-activity.ts NGA warnings array handling bug
- Add ws package for relay server
- Improve Shipping service logging and error handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 13:29:59 +04:00