How manivannanbgi007/chat-app works
chat-app is a WhatsApp-like real-time messaging platform: users register and verify, find contacts, exchange one-to-one or group messages, and use calls, presence, notifications, media, and expiring status stories. The frontend is the user-facing entry point; independent services implement identity, conversations, messaging, and the supporting capabilities. The README documents the product scope and stack, while sampled source confirms selected internals such as session revocation, group management, message access checks, call signaling, and media storage. Many service-to-service links are not shown, so those are omitted.
Main entry points: ChatsPage.tsx Chat experience · MessageService.java Message handling · LoginPage.tsx Authentication screens · MediaService.java Media management
Components 20
Web client
- Chat application
frontend/src/App.tsx - Authentication screens
frontend/src/pages/auth/LoginPage.tsx - Chat experience
frontend/src/pages/chat/ChatsPage.tsx - Call engine
frontend/src/features/calls/callEngine.ts
Identity and users
- Authentication API
services/auth-service/src/main/java/com/chatapp/auth/controller/AuthController.java - Authentication and sessions
services/auth-service/src/main/java/com/chatapp/auth/service/AuthenticationService.java - Session management
services/auth-service/src/main/java/com/chatapp/auth/service/SessionService.java - Profiles and contacts
services/user-service/src/main/java/com/chatapp/user/service/ProfileService.java - API gateway
services/api-gateway/src/main/java/com/chatapp/gateway/GatewayApplication.java
Conversation and messaging
- Groups and conversations
services/conversation-service/src/main/java/com/chatapp/conversation/service/GroupService.java - Message handling
services/message-service/src/main/java/com/chatapp/message/service/MessageService.java - Live chat delivery
services/message-service/src/main/java/com/chatapp/message/websocket/ChatStompController.java
Live communications
- Presence
services/presence-service/src/main/java/com/chatapp/presence/service/PresenceService.java - Call signaling
services/call-signaling-service/src/main/java/com/chatapp/call/service/CallService.java - Notifications
services/notification-service/src/main/java/com/chatapp/notification/service/NotificationEventService.java
Media and updates
- Media management
services/media-service/src/main/java/com/chatapp/media/service/MediaService.java - Object storage
services/media-service/src/main/java/com/chatapp/media/storage/S3StorageService.java - Status stories
services/status-service/src/main/java/com/chatapp/status/service/StatusService.java - Status feed and privacy
services/status-service/src/main/java/com/chatapp/status/service/FeedService.java
Other components
- User
Connections 23
- User → Chat application: uses
README.md - Chat application → Authentication screens: presents
README.md - User → Authentication screens: registers and verifies
README.md - Authentication screens → API gateway: requests services
- API gateway → Authentication API: routes requests
- Authentication API → Authentication and sessions: handles authentication
- Authentication and sessions → Session management: creates sessions
services/auth-service/src/main/java/com/chatapp/auth/service/SessionService.java - User → Chat experience: finds people and chats
README.md - Chat experience → Groups and conversations: manages groups
- Chat experience → Message handling: sends and syncs
- Message handling → Groups and conversations: checks membership
services/message-service/src/main/java/com/chatapp/message/service/MessageService.java - User → Live chat delivery: receives live messages
README.md - User → Presence: shares presence
README.md - Chat experience → Presence: shows presence
- User → Call engine: starts calls
README.md - Call engine → Call signaling: sends signaling
frontend/src/features/calls/callEngine.ts - User → Notifications: views notifications
README.md - Message handling → Notifications: triggers notifications
- User → Media management: uploads attachments
README.md - Media management → Object storage: stores and signs objects
services/media-service/src/main/java/com/chatapp/media/storage/S3StorageService.java - User → Status stories: posts stories
README.md - Status stories → Media management: attaches status media
services/status-service/src/main/java/com/chatapp/status/service/StatusService.java - User → Status feed and privacy: views stories
README.md