Skip to content

Implement WebSocket Gateway #167

@RUKAYAT-CODER

Description

@RUKAYAT-CODER

Overview

Add real-time communication via WebSockets for live updates and notifications.

Background

REST API provides request-response but users need real-time updates for quest status, submissions, and payouts.

Specifications

Events to Stream:

  • New quest notifications
  • Submission status updates
  • Payout confirmations
  • Live chat support
  • Real-time analytics
  • Quest deadline alerts
  • Reputation changes

Tasks:

  • Configure WebSocket gateway
  • Create event channels
  • Implement authentication
  • Build subscription management
  • Add message persistence
  • Create reconnection logic
  • Implement rate limiting for WS
  • Add broadcast capabilities

Impacted Files:

  • src/modules/websocket/websocket.gateway.ts (new)
  • src/modules/websocket/websocket.module.ts (new)
  • src/modules/websocket/entities/ws-subscription.entity.ts (new)
  • src/common/guards/ws-auth.guard.ts (new)
  • src/events/handlers/websocket-event.handlers.ts (new)

Labels: backend, websocket, real-time, streaming, notifications

Acceptance Criteria

  • WebSocket connections established
  • Authentication works
  • Clients can subscribe to channels
  • Events pushed in real-time
  • Reconnection handled
  • Rate limiting prevents abuse
  • Broadcast to groups works
  • Message history available

🙌Contribution Guidelines:

Assignment required before PR submission
Timeframe: 96-120 hours
Create a screenshot of your implementation/s or sever running
PR description must include: Close #[issue-number]
Star the repo⭐
For more context, please refer to the backend README 🚀

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions