Nuxt 3 + Go/Gin community MVP scaffolded from project_plan.md.
- Nuxt 4 with Nuxt 5 compatibility mode, Vue 3, TypeScript, Pinia
- Go, Gin, JWT
- PostgreSQL, Redis
- REST API and room-based WebSocket chat
- Docker Compose and Nginx
frontend/: Nuxt applicationbackend/: Go API and WebSocket servernginx/: reverse proxy config
- Copy
.env.exampleto.env - Run
docker compose up --build - Open
http://localhost
As of April 5, 2026, the official Nuxt stable line is Nuxt 4.x, and Nuxt 5 is still in development.
This frontend is configured to use the current Nuxt 4 release line with future.compatibilityVersion: 5 enabled, which is the official way to opt into Nuxt 5 behavior today.
- The backend auto-runs
backend/migrations/001_init.sqlon startup. - Chat messages are broadcast immediately and persisted asynchronously.
- Redis stores unread counts as
unread:{user_id}:{room_id}.