{"id":24005363,"url":"https://github.com/sccsmartcode/cchatapp","last_synced_at":"2025-02-25T12:27:35.486Z","repository":{"id":270810374,"uuid":"892010439","full_name":"SCCSMARTCODE/CChatApp","owner":"SCCSMARTCODE","description":"A simple and robust chat application written in C, enabling real-time communication between multiple computers. Starts as a CLI-based application and evolves into a GUI-powered platform.","archived":false,"fork":false,"pushed_at":"2025-01-20T16:15:33.000Z","size":316,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T17:27:36.485Z","etag":null,"topics":["cli-application","gui-application","multithreading","networking","socket-programming-using-c","tcp"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SCCSMARTCODE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-11-21T11:01:50.000Z","updated_at":"2025-01-20T16:15:34.000Z","dependencies_parsed_at":"2025-01-03T09:20:59.570Z","dependency_job_id":"6faede65-5f60-4273-9caf-5171bd640b99","html_url":"https://github.com/SCCSMARTCODE/CChatApp","commit_stats":null,"previous_names":["sccsmartcode/cchatapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCCSMARTCODE%2FCChatApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCCSMARTCODE%2FCChatApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCCSMARTCODE%2FCChatApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SCCSMARTCODE%2FCChatApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SCCSMARTCODE","download_url":"https://codeload.github.com/SCCSMARTCODE/CChatApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240666095,"owners_count":19837839,"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":["cli-application","gui-application","multithreading","networking","socket-programming-using-c","tcp"],"created_at":"2025-01-08T02:54:55.876Z","updated_at":"2025-02-25T12:27:35.465Z","avatar_url":"https://github.com/SCCSMARTCODE.png","language":"C","readme":"# CChatApp  \n\nCChatApp is a lightweight chat application built from scratch in C. It supports real-time communication between multiple computers using a client-server architecture. The project begins as a Command-Line Interface (CLI) application and is designed to evolve into a GUI-based chat platform.\n\n## Features  \n- **Phase 1**: Basic client-server messaging over TCP/IP.  \n- **Phase 2**: Multi-client support with user identification.  \n- **Phase 3**: Optional GUI integration using GTK or Qt.  \n- **Phase 4**: Additional features like message encryption and file transfer.  \n\n## Getting Started  \n\n### Prerequisites  \n- GCC or Clang compiler  \n- Basic understanding of C programming  \n- Knowledge of socket programming (helpful, but not mandatory)  \n\n### Installation  \n1. Clone the repository:  \n   ```bash\n   git clone https://github.com/your-username/CChatApp.git\n   cd CChatApp\n   ```  \n2. Compile the application:  \n   ```bash\n   make\n   ```  \n3. Run the server:  \n   ```bash\n   ./bin/server\n   ```  \n4. Run the client (on the same or another machine):  \n   ```bash\n   ./bin/client\n   ```  \n\n## Project Phases  \n\n### Phase 1: CLI-Based Chat Application  \n- [x] Basic client-server communication  \n- [x] Support for sending and receiving messages  \n- [x] Error handling and user validation  \n\n### Phase 2: Multi-Client Support  \n- [x] Threaded server to handle multiple clients  \n- [x] Broadcast messages to all connected clients  \n- [x] User disconnection handling  \n\n### Phase 3: GUI Integration  \n- [x] Design a simple GUI using GTK  \n- [x] Add message input/output areas  \n- [x] Integrate GUI with networking logic  \n\n### Phase 4: Advanced Features  \n- [x] Message encryption using OpenSSL  \n- [ ] File transfer support  \n- [ ] Chat themes and user preferences  \n\n## Directory Structure  \n```\nCChatApp/  \n.\n├── LICENSE\n├── Makefile\n├── README.md\n├── bin\n│   ├── client\n│   └── server\n├── build\n│   ├── socket_client\n│   │   └── main.o\n│   ├── socket_server\n│   │   └── main.o\n│   └── utils\n│       └── utils.o\n├── gui\n│   ├── #chat_app.glade#\n│   ├── chat_app.glade\n│   ├── chat_app.glade~\n│   └── style.css\n├── socket_client\n│   ├── a.out\n│   ├── client.h\n│   └── main.c\n├── socket_server\n│   ├── main.c\n│   └── server.h\n└── utils\n    ├── utils.c\n    └── utils.h\n```  \n\n## Contributing  \nContributions are welcome! Please follow these steps:  \n1. Fork the repository.  \n2. Create a new branch:  \n   ```bash\n   git checkout -b feature-name\n   ```  \n3. Commit your changes:  \n   ```bash\n   git commit -m \"Add feature-name\"\n   ```  \n4. Push to the branch:  \n   ```bash\n   git push origin feature-name\n   ```  \n5. Open a pull request.  \n\n## License  \nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.  \n\n## Acknowledgments  \n- *Beej's Guide to Network Programming* for socket programming resources.  \n- The C programming community for their valuable tools and libraries.  \n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsccsmartcode%2Fcchatapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsccsmartcode%2Fcchatapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsccsmartcode%2Fcchatapp/lists"}