How verina101/chat-application works
This is a Qt desktop chat application backed by SQLite. The principal workflow starts at the application entry point, initializes the database, presents login/registration, then opens the chat hub where users select or create conversations and view message history. Separate branches support contacts, profile editing, and creating/viewing expiring stories; chat-room information and message status are additional conversation capabilities. Several feature modules are represented by the source index and README rather than inspected implementation excerpts, so their connections are shown only where documented or evidenced by the index.
Main entry points: Chats.cpp Chat hub · Data.cpp Database access · login.cpp Login and registration · ChatRoom.cpp Chat room
Components 22
Application and access
- Qt application entry
Chat-Application/main.cpp - Login and registration
Chat-Application/login.cpp - Database access
Chat-Application/Data.cpp - Session and selection state
Chat-Application/MyConstants.cpp
Chats and messaging
- Chat hub
Chat-Application/Chats.cpp - Chat room
Chat-Application/ChatRoom.cpp - Message display
Chat-Application/Message.cpp - Message status
Chat-Application/MsgStatus.h - Room information
Chat-Application/ChatInfo.cpp - Chat list item
Chat-Application/ChatItem.cpp
Contacts and profile
- Contact and group picker
Chat-Application/showcontact.cpp - Add contact
Chat-Application/contact.cpp - Contact widget
Chat-Application/contactwidget.cpp - Profile editing
Chat-Application/profile.cpp
Stories
- Create story
Chat-Application/addstory.cpp - Story contacts
Chat-Application/showcontactnamestory.cpp - View stories
Chat-Application/showstories.cpp - Story timing
Chat-Application/StoryTime.cpp - Saved story data
Chat-Application/saveddata.cpp - Date and time
Chat-Application/Datetime.cpp
Other components
- User
- SQLite database
Connections 31
- User → Qt application entry: starts
README.md - Qt application entry → Database access: initializes
Chat-Application/main.cpp - Qt application entry → Login and registration: shows
Chat-Application/main.cpp - User → Login and registration: authenticates
README.md - Login and registration → Chat hub: opens
- User → Chat hub: uses
- Chat hub → Chat room: opens
Chat-Application/Chats.cpp - Chat hub → Contact and group picker: opens
Chat-Application/Chats.cpp - Chat hub → Add contact: opens
Chat-Application/Chats.cpp - Chat hub → Profile editing: opens
Chat-Application/Chats.cpp - Chat hub → Create story: opens
Chat-Application/Chats.cpp - Chat hub → Story contacts: opens
Chat-Application/Chats.cpp - Chat hub → Chat list item: creates
Chat-Application/Chats.cpp - Contact and group picker → Chat room: opens
Chat-Application/showcontact.cpp - Contact and group picker → Contact widget: creates
Chat-Application/showcontact.cpp - Chat room → Message display: renders
- Chat room → Room information: uses
- Message display → Message status: uses
- Chat room → Database access: reads and writes
- Contact and group picker → Database access: reads and writes
Chat-Application/showcontact.cpp - Chat hub → Database access: reads
Chat-Application/Chats.cpp - Database access → SQLite database: accesses
README.md - Create story → Database access: writes
Chat-Application/addstory.cpp - Story contacts → View stories: opens
- Story contacts → Saved story data: uses
- Story contacts → Date and time: uses
- View stories → Story timing: uses
- Profile editing → Database access: reads and writes
- Login and registration → Database access: reads and writes
- Login and registration → Session and selection state: sets session
- Chat hub → Session and selection state: reads selection
Chat-Application/Chats.cpp