Skip to content
bhav-07Public

About

A real-time collaborative workspace that enables remote teams to work together in interactive 2D virtual environments

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

Haven

Haven is a real-time collaborative virtual workspace platform that enables remote teams to work together in interactive 2D virtual environments. The platform combines virtual office spaces, collaborative tools, and project management features into a unified digital workspace.

Demo

haven_demo.mp4

Core Features

Virtual 2D Office Spaces

  • Interactive Virtual Environment: 2D virtual office spaces powered by Phaser game engine with collision detection and player movement
  • Real-time Player Synchronization: Live player position updates and presence awareness across all connected clients
  • Animated Player Avatars: Sprite-based player characters with directional movement animations
  • Status Indicators: Visual status representation (online, away, meeting, do not disturb) with real-time updates
Virtual Office Space Player Avatars

Real-time Communication Infrastructure

  • WebSocket Integration: Native WebSocket connections for real-time bidirectional communication
  • Redis Pub/Sub Architecture: Distributed message broadcasting across multiple server instances using Redis channels
  • Rate-Limited Updates: Optimized position update frequency to prevent network congestion
  • Real-time Chat System: In-space messaging with persistent chat history
Real-time Chat

Collaborative Whiteboard

  • Excalidraw Integration: Full-featured collaborative drawing canvas with real-time synchronization
  • Debounced Persistence: 3-second debounced saving mechanism to optimize database writes while maintaining data consistency
  • Multi-user Collaboration: Simultaneous editing support with conflict resolution and change detection
  • PNG Export Functionality: Export whiteboard content as high-quality PNG images
Collaborative Whiteboard

Project Management

  • Kanban Board System: Task management with drag-and-drop functionality across customizable workflow columns
  • Task Priority System: Color-coded priority indicators (HIGH/MEDIUM/LOW) with visual urgency indicators
  • Space-scoped Tasks: All tasks are associated with specific collaborative workspaces
Kanban Board

Authentication & Security

  • Google OAuth Integration: Complete OAuth 2.0 authentication flow with Google identity provider
  • JWT Token Management: Secure session management using JWT tokens stored in HTTP-only cookies
  • Protected Routes: Comprehensive route protection with authentication middleware
Authentication

Space Management

  • Workspace Creation: Create and configure team collaborative spaces
  • Space Joining: Join existing spaces through invitation system
  • Member Management: Track space membership and user participation
Space Management

Technical Architecture

Backend Stack

  • Go with Fiber Framework: High-performance HTTP web framework for RESTful API endpoints
  • PostgreSQL with GORM: Relational database with object-relational mapping for data persistence
  • Redis Integration: In-memory data store for real-time communication and session caching
  • WebSocket Server: Native WebSocket implementation for real-time features

Frontend Stack

  • React with TypeScript: Component-based UI with static typing for enhanced development experience
  • Phaser Game Engine: 2D game engine (version 3.88.2) for interactive virtual environments

Real-time Communication Channels

Channel Purpose
game:positions Player position synchronization across virtual spaces
game:events Player join/leave events and space state changes
game:chat Real-time chat message distribution
whiteboard:updates Collaborative whiteboard element synchronization
user:status_updates User presence and status change notifications

About

A real-time collaborative workspace that enables remote teams to work together in interactive 2D virtual environments

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages