{"id":22961688,"url":"https://github.com/voidkeishi/socketchatter","last_synced_at":"2026-05-05T07:32:31.539Z","repository":{"id":262325803,"uuid":"876142353","full_name":"VoidKeishi/SocketChatter","owner":"VoidKeishi","description":"Socket LAN chatting app in C++ with QT Framework","archived":false,"fork":false,"pushed_at":"2025-03-02T13:25:15.000Z","size":786,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-02T14:27:50.720Z","etag":null,"topics":["cpp","qt6","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VoidKeishi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T13:22:05.000Z","updated_at":"2025-03-02T13:25:18.000Z","dependencies_parsed_at":"2024-11-11T21:18:17.590Z","dependency_job_id":"9714885d-9321-462b-9ff8-dbed7d53625c","html_url":"https://github.com/VoidKeishi/SocketChatter","commit_stats":null,"previous_names":["voidkeishi/chattingapp","voidkeishi/socketchatter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoidKeishi%2FSocketChatter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoidKeishi%2FSocketChatter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoidKeishi%2FSocketChatter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoidKeishi%2FSocketChatter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VoidKeishi","download_url":"https://codeload.github.com/VoidKeishi/SocketChatter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246748138,"owners_count":20827269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","qt6","socket-programming"],"created_at":"2024-12-14T19:13:23.708Z","updated_at":"2026-05-05T07:32:31.510Z","avatar_url":"https://github.com/VoidKeishi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LAN-Based Real-Time Messaging Application\n\n## Description\n\nThis application is a LAN-based real-time messaging platform that allows users to send and receive text messages, images, audio, and video within a local network environment. Users can create private and group chats, manage friend lists, and view chat histories. The application is designed for speed and reliability, utilizing TCP/IP socket connections over LAN or WLAN.\n\n## Features\n\n- **User Registration \u0026 Login**\n  - Users can create an account and securely log in to the application.\n- **Friends List Management**\n  - View friends' online or offline status in real-time.\n  - Send and accept friend requests.\n- **Group Chats**\n  - Create group chats and invite friends to join.\n  - Accept group chat invitations.\n  - Leave group chats at any time.\n- **Real-time Messaging**\n  - Send and receive text messages.\n  - Share images, audio files, and video files.\n  - Support for both private and group conversations.\n- **Message History**\n  - View chat history for individual and group conversations.\n- **Logging**\n  - Server logs all incoming and outgoing messages for monitoring and debugging.\n\n## Requirements\n\n- **Client-Server Connection via Socket**\n  - Establish a reliable connection between clients and the server using TCP sockets.\n- **LAN/WLAN Communication**\n  - Clients and server communicate over known private IP addresses within the same local network.\n- **Server-Client Model**\n  - Centralized server manages communication between clients.\n- **Message Logging on the Server**\n  - All messages are logged on the server for record-keeping.\n\n## Technologies\n\n- **Frontend**: Qt QML for a cross-platform graphical user interface.\n- **Backend**: C++ with the Qt framework for robust application logic.\n- **Database**: SQLite for local data storage.\n- **Networking**: TCP/IP sockets for efficient network communication.\n\n## Architecture\n\nThe application follows a client-server model, where multiple clients connect to a central server over LAN or WLAN. The server handles user authentication, message routing, and logging, ensuring secure and efficient communication.\n\n## Scoring Breakdown\n\n1. **Client-Server Connection via Socket** (2 points)\n   - Implement reliable socket connections between clients and the server.\n2. **Message Logging on the Server** (1 point)\n   - Log all incoming and outgoing messages for auditing purposes.\n3. **User Registration and Login** (2 points)\n   - Enable account creation and secure user authentication.\n4. **View Friends List (Online/Offline Status)** (2 points)\n   - Display real-time online/offline status of friends.\n5. **Friend Requests and Acceptance** (2 points)\n   - Allow users to send and accept friend requests.\n6. **Group Chat Management** (3 points)\n   - Support creating groups, inviting friends, and managing group membership.\n7. **Messaging (Text, Image, Audio, Video)** (4 points)\n   - Facilitate sending and receiving various types of messages in chats.\n8. **Message History Viewing** (2 points)\n   - Provide access to view past conversations in chat history.\n\n## Usage\n\n1. **Account Registration**\n   - Open the client application.\n   - Register a new account with a unique username and password.\n2. **Login**\n   - Log in using your credentials to access the main interface.\n3. **Managing Friends**\n   - Search for other users and send friend requests.\n   - Accept incoming friend requests from others.\n   - View your friends list with their online/offline status.\n4. **Creating and Joining Group Chats**\n   - Create a new group chat and invite friends.\n   - Accept invitations to join existing group chats.\n5. **Messaging**\n   - Start private or group conversations.\n   - Send text messages, images, audio clips, and videos.\n6. **Viewing Message History**\n   - Access the history of your conversations from the chat interface.\n\n## Contributors\n\n- **Pham Phan Anh** - 20210039\n- **Dao Sy Phuc** - 20215117\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidkeishi%2Fsocketchatter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoidkeishi%2Fsocketchatter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidkeishi%2Fsocketchatter/lists"}