{"id":18420525,"url":"https://github.com/ahmednassar7/chat-application","last_synced_at":"2026-05-02T06:33:54.040Z","repository":{"id":166158744,"uuid":"641603322","full_name":"AhmedNassar7/Chat-Application","owner":"AhmedNassar7","description":"Chat application for real-time communication and support all type of data.","archived":false,"fork":false,"pushed_at":"2024-10-24T18:40:37.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T09:18:23.101Z","etag":null,"topics":["chat","chat-application","database","java","javaswing","oop","oops-in-java","real-time","ux-ui"],"latest_commit_sha":null,"homepage":"","language":"Java","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/AhmedNassar7.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":"2023-05-16T20:25:33.000Z","updated_at":"2024-12-23T14:57:30.000Z","dependencies_parsed_at":"2024-10-26T05:16:40.547Z","dependency_job_id":"d458c187-3ab8-4f77-a4af-f34918474575","html_url":"https://github.com/AhmedNassar7/Chat-Application","commit_stats":null,"previous_names":["ahmednassar7/chats-by-socket-programming","ahmednassar7/chats-application","ahmednassar7/chats_application"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedNassar7%2FChat-Application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedNassar7%2FChat-Application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedNassar7%2FChat-Application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedNassar7%2FChat-Application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AhmedNassar7","download_url":"https://codeload.github.com/AhmedNassar7/Chat-Application/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688548,"owners_count":21145766,"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":["chat","chat-application","database","java","javaswing","oop","oops-in-java","real-time","ux-ui"],"created_at":"2024-11-06T04:22:06.590Z","updated_at":"2026-05-02T06:33:53.964Z","avatar_url":"https://github.com/AhmedNassar7.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chat Application\n\nThis project is a **real-time chat application** that enables users to exchange messages over the network using **TCP/IP connectivity** through socket programming. It supports real-time communication and stores chat data securely in a **SQL database**. The application features a user-friendly graphical interface designed with **Java Swing**, and the code is modular and maintainable, adhering to **Object-Oriented Programming (OOP)** principles.\n\n## Features\n\n- **Real-time Messaging**: Users can send and receive messages instantly.\n- **Modular Codebase**: The application is developed using OOP principles, making it modular, easy to maintain, and extendable.\n- **Database Management**: Chat logs are securely stored and retrieved from a **SQL database**.\n- **User-friendly GUI**: Designed with **Java Swing** for an intuitive and responsive user interface.\n- **Data Support**: Supports the exchange of text, files, and other types of data.\n\n## Technologies Used\n\n- **Java**: Core application logic, including OOP principles for maintainability.\n- **Java Swing**: For the design and development of the graphical user interface (GUI).\n- **Socket Programming**: For TCP/IP connectivity and real-time communication.\n- **SQL**: To manage the storage and retrieval of chat messages.\n- **NetBeans**: Integrated Development Environment (IDE) used for development and testing.\n\n## Project Structure\n\nThe project is divided into the following main components:\n\n- **Client**: Handles user-side operations, including sending and receiving messages and displaying the GUI.\n- **Server**: Manages multiple client connections, message broadcasting, and communication handling.\n- **Data**: Contains the SQL database files, which store chat history and other necessary data.\n- **Database Schema (pronewa.sql)**: The SQL schema used to set up the database for message storage.\n\n## How to Run the Application\n\n1. **Requirements**:\n   - Java JDK (8 or later)\n   - NetBeans IDE\n   - MySQL or any SQL-compatible database\n\n2. **Steps**:\n   - Clone the repository to your local machine.\n   - Open the project in **NetBeans**.\n   - Set up the SQL database using the provided `pronewa.sql` file.\n   - Configure the database connection details in the server code.\n   - Run the server from the `Server` package.\n   - Launch the client from the `Client` package.\n   - Multiple clients can connect to the server to start exchanging messages in real time.\n\n## Database Setup\n\nTo set up the database:\n\n1. Create a new database using the SQL server of your choice.\n2. Run the SQL script `pronewa.sql` to create the necessary tables for storing chat messages.\n3. Update the connection details in the server code to match your database credentials.\n\n## File Structure\n\n- **Client/**: Contains the code for the client-side application.\n- **Server/**: Contains the code for the server-side application.\n- **Data/**: Includes the SQL schema file `pronewa.sql`.\n- **README.md**: Documentation for the project.\n\n## Contributions\n\nFeel free to open a pull request or report issues if you would like to contribute to the project. Suggestions and improvements are welcome.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmednassar7%2Fchat-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmednassar7%2Fchat-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmednassar7%2Fchat-application/lists"}