How muhaha365/demo_nt106_doan works
UIT Chat is a WinForms desktop chat application backed by a central TCP/TLS server. A user connects with the server address and certificate fingerprint, registers or logs in, then uses the chat interface for messaging and related social features; the server persists shared state and attachments. The README documents authentication, presence, friends, groups, history, search, file sharing, and access control. Detailed UI request handlers and some server internals were not sampled, so those relationships are shown only where source or documentation supports them.
Main entry points: ChatServer.cs Request server · ChatClient.cs TCP/TLS client · Form1.cs Window selection · LoginForm.cs Connect and login
Components 19
Desktop client
- Application entry
WinFormsApp1/Program.cs - Window selection
WinFormsApp1/Form1.cs - Connect and login
WinFormsApp1/LoginForm.cs - Chat workspace
WinFormsApp1/ChatForm.cs - Chat dialogs
WinFormsApp1/Dialogs.cs - Message display
WinFormsApp1/MessageBubble.cs - UI styling
WinFormsApp1/Theme.cs - Server manager
WinFormsApp1/ServerForm.cs
Shared protocol
- TCP/TLS client
Chat.Core/ChatClient.cs - Frame codec
Chat.Core/FrameCodec.cs - Packet contracts
Chat.Core/Contracts.cs
Server runtime
- Console host
Chat.Host/Program.cs - Request server
Chat.Server/ChatServer.cs - Identity and access
Chat.Server/ChatServer.cs - Friends and groups
Chat.Server/ChatServer.cs - Messages and files
Chat.Server/ChatServer.cs - Presence and events
Chat.Server/ChatServer.cs - JSON and attachments
Chat.Server/Storage.cs
Other components
- Chat user
Connections 18
- Chat user → Application entry: opens
README.md - Application entry → Window selection: starts
WinFormsApp1/Program.cs - Window selection → Connect and login: opens
WinFormsApp1/Form1.cs - Window selection → Server manager: opens
WinFormsApp1/Form1.cs - Connect and login → TCP/TLS client: connects through
WinFormsApp1/LoginForm.cs - Connect and login → Chat workspace: opens after login
WinFormsApp1/LoginForm.cs - Chat workspace → TCP/TLS client: requests and receives
WinFormsApp1/ChatForm.cs - Chat workspace → Message display: renders messages
WinFormsApp1/ChatForm.cs - Chat dialogs → TCP/TLS client: uses
WinFormsApp1/Dialogs.cs - TCP/TLS client → Frame codec: frames packets
Chat.Core/ChatClient.cs - TCP/TLS client → Request server: sends over TLS
README.md - Server manager → Request server: starts and stops
WinFormsApp1/ServerForm.cs - Console host → Request server: starts
Chat.Host/Program.cs - Request server → JSON and attachments: reads and commits
Chat.Server/ChatServer.cs - Request server → Identity and access: handles authentication
README.md - Request server → Friends and groups: handles social features
README.md - Request server → Messages and files: handles chat and files
README.md - Request server → Presence and events: handles presence
README.md