This repository now includes a Vercel-ready React chat app with serverless APIs.
- Replaced deploy target from JavaFX desktop apps to web + serverless APIs.
- Added a React/Vite client (
src/App.jsx,src/main.jsx,src/index.css). - Added Vercel serverless endpoints (
api/messages.js,api/health.js). - Added storage abstraction with Vercel KV support (
api/_store.js). - Added Vercel deployment config (
vercel.json) and exclusion rules (.vercelignore).
- Frontend: React + Vite
- Backend: Vercel Serverless Functions (Node.js 20)
- Storage:
- Preferred: Vercel KV (persistent and shared)
- Fallback: in-memory temporary storage (works for quick tests only)
index.html- Vite entry pagesrc/App.jsx- React chat UIsrc/main.jsx- React bootstrapsrc/index.css- responsive styling and animationsapi/messages.js- GET/POST chat messages APIapi/_store.js- KV + in-memory storage adapterapi/health.js- health endpointvercel.json- runtime config for serverless functions.vercelignore- excludes Java/Maven artifacts from Vercel deployment bundle
- Push this project to GitHub.
- Import the repository in Vercel.
- (Recommended) Add environment variables in the Vercel project:
KV_REST_API_URLKV_REST_API_TOKEN
- Deploy.
If KV variables are not configured, chat runs in temporary memory mode and messages are not guaranteed to persist.
- Install dependencies with
npm install. - Start the app with
npm run dev. - Open the shown local URL.
Vercel will build the React app from npm run build and serve the dist output.
- Auth: Clerk (email + OAuth)
- Realtime: Ably
- Upload + scan: Vercel Blob + VirusTotal
- Analytics/Error tracking: PostHog + Sentry
Use .env.stack.example as the complete template for production setup.
- Add Clerk auth gate and server-side token validation.
- Add room password/token and host/co-host transfer controls.
- Replace polling with Ably realtime channels for room events.
- Add upload pipeline with Blob signed URLs + VirusTotal scan state.
- Enable moderation center export + timed actions (mute/ban/unkick).
- Enable analytics dashboards and error tracing with Sentry.
The JavaFX/Swing client-server implementation still exists in this repository under src/ and can be kept as legacy reference. It is not required for Vercel deployment.