How gomo2005/real-time-chat-application works
ChatSpace is a Flask and Socket.IO real-time messaging application. A user registers or logs in, opens the dashboard, then chats through live events; the application persists user and message data in PostgreSQL and uses Redis to distribute Socket.IO messages across replicas. The monolithic app.py also handles presence, profiles, file sharing, reactions, and message management. The README documents the Redis and database roles; unsampled source limits detail about how some features are implemented.
Main entry points: app.py Flask and Socket.IO · dashboard.html Chat dashboard
Components 10
Browser interface
- Chat dashboard
Templates/dashboard.html
Application features
- Flask and Socket.IO
app.py - Authentication
app.py - Group and direct chat
app.py - Presence and typing
app.py - Message tools
app.py - Profiles and files
app.py
Persistence and messaging
- PostgreSQL
- Socket.IO queue
Other components
- Chat user
Connections 11
- Chat user → Flask and Socket.IO: uses HTTP and WebSocket
README.md - Flask and Socket.IO → Authentication: handles authentication
app.py - Flask and Socket.IO → Chat dashboard: renders dashboard
app.py - Chat user → Chat dashboard: uses chat UI
README.md - Chat dashboard → Flask and Socket.IO: sends chat events
README.md - Flask and Socket.IO → Group and direct chat: handles chat events
app.py - Flask and Socket.IO → Presence and typing: tracks presence
app.py - Flask and Socket.IO → Message tools: handles message actions
app.py - Flask and Socket.IO → Profiles and files: handles profiles and uploads
app.py - Flask and Socket.IO → PostgreSQL: persists application data
README.md - Flask and Socket.IO → Socket.IO queue: publishes Socket.IO events
README.md