STORM DAY
A full-stack real-time chat application built with a microservices architecture. Supporting private conversations, group chats, message replies, forwarding, editing, file attachments, typing indicators, and delivery receipts — all in real time.
Tech Stack
Frontend
Backend
Architecture Overview
Key Features
Real-time Messaging
WebSocket-based instant messaging with typing indicators and delivery receipts
Group Chats
Create and manage group conversations with role-based permissions
Microservices
Scalable architecture with independent services communicating via NATS
REST API
Comprehensive REST endpoints for authentication, users, messages, and groups
Message Features
Reply, forward, edit messages with file and media attachments support
High Performance
SO_REUSEPORT for maximum WebSocket throughput with parallel TCP listeners
Documentation
Getting Started
Prerequisites, local setup, and environment configuration
Architecture
Service diagram, NATS message flows, and design decisions
REST API Reference
Auth, Users, Messages, and Groups endpoints with examples
WebSocket Protocol
Connection, client/server frames, and reconnection logic
Frontend Guide
Routes, Pinia stores, component tree, and UI features
Data Models
TypeScript interfaces with detailed descriptions