{"id":25107353,"url":"https://github.com/felipekobra/jmessenger","last_synced_at":"2025-04-19T20:38:17.347Z","repository":{"id":271481647,"uuid":"913596727","full_name":"FelipeKobra/JMessenger","owner":"FelipeKobra","description":"JMessenger is a robust and efficient terminal-based chat application with encrypted communication and UPnP support","archived":false,"fork":false,"pushed_at":"2025-03-02T22:36:42.000Z","size":246,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T13:06:43.817Z","etag":null,"topics":["chat","chat-application","client","console","console-application","console-chat","console-chat-app","java","maven","server","terminal","terminal-based","terminal-chat"],"latest_commit_sha":null,"homepage":"","language":"Java","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/FelipeKobra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.MD","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":"2025-01-08T01:53:37.000Z","updated_at":"2025-03-04T23:43:36.000Z","dependencies_parsed_at":"2025-01-08T03:21:05.548Z","dependency_job_id":"b2b8f4e6-92b6-47a8-949a-d103787f2cc5","html_url":"https://github.com/FelipeKobra/JMessenger","commit_stats":null,"previous_names":["felipekobra/javaterminalchat","felipekobra/jmessenger"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelipeKobra%2FJMessenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelipeKobra%2FJMessenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelipeKobra%2FJMessenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelipeKobra%2FJMessenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FelipeKobra","download_url":"https://codeload.github.com/FelipeKobra/JMessenger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249795193,"owners_count":21326776,"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","client","console","console-application","console-chat","console-chat-app","java","maven","server","terminal","terminal-based","terminal-chat"],"created_at":"2025-02-07T23:38:01.914Z","updated_at":"2025-04-19T20:38:17.332Z","avatar_url":"https://github.com/FelipeKobra.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--suppress HtmlDeprecatedAttribute --\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"src/main/resources/images/command.png\" alt=\"command\"\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eJMessenger\u003c/h1\u003e\n\u003cp align=\"center\"\u003eJMessenger is a terminal-based chat application that allows you to communicate seamlessly with\nothers over the internet. It supports both client and server functionalities, making it easy to set\nup and use. Additionally, the communication is encrypted, meaning that messages are sent in a secure\nand protected manner, ensuring the privacy and confidentiality of conversations.\u003c/p\u003e\n\n## Table of Contents\n\n* [User Guide](#user-guide)\n    + [Installation](#installation)\n    + [Usage](#usage)\n    + [UPnP](#upnp)\n* [Developer Guide](#developer-guide)\n    + [Requirements](#requirements)\n    + [Building](#building)\n    + [Building Natives](#building-natives)\n    + [Contributing](#contributing)\n* [License](#license)\n\n## User Guide\n\n### Installation\n\n**Note:** This installation step is only necessary if you want to run the JAR file instead of the\nnative executable.\nTo run the JAR file, you need to have Java 21 or higher installed on your system. Here are the steps\nto install Java 21 on different operating systems:\n\n* Windows:\n    + Download the Java 21 installer from the official Oracle website.\n    + Run the installer and follow the installation instructions.\n* macOS:\n    + Download the Java 21 installer from the official Oracle website.\n    + Run the installer and follow the installation instructions.\n* Linux:\n    + Open a terminal and run the command sudo apt-get install openjdk-21-jdk (for Ubuntu-based\n      systems) or sudo yum install java-21-openjdk (for RPM-based systems).\n    + Follow the installation instructions.\n\n### Usage\n\n#### Windows Executable\n\nDownload the executable (.exe) from\nthe [Releases](https://github.com/FelipeKobra/JavaTerminalChat/releases) section. Use the following\ncommands in your console:\n\n* For the Chat Server:\n\n```bash\n./Server.exe\n```\n\n* For the Chat Client:\n\n```bash\n./Client.exe\n```\n\n#### JAR\n\nDownload the JAR (.jar) from\nthe [Releases](https://github.com/FelipeKobra/JavaTerminalChat/releases) section. Use the following\ncommands in your console:\n\n* For the Chat Server:\n\n```bash\njava -jar Server.jar\n```\n\n* For the Chat Client:\n\n```bash\njava -jar Client.jar\n```\n\n### UPnP\n\n**Universal Plug and Play (UPnP)** is a networking protocol that allows devices to automatically\ndiscover and configure themselves on a network. It simplifies the discovery and management of\ndevices on the network, making it easy and secure to access and control them.\n\nBy default, UPnP is enabled in this application, eliminating the need to manually forward ports on\nyour router, as long as it is also enabled on your router. This feature enables the application to\nautomatically configure the router for seamless communication.\n\n---\n\n## Developer Guide\n\n### Requirements\n\n* JDK 21 or higher\n* GraalVM JDK 21 or Higher\n* Powershell\n\n### Building\n\nTo build this project, run the following command in the root folder:\n\n```bash\n.\\mvnw clean install\n```\n\n### Building Natives\n\n#### Development\n\nTo create a fast build for development with low optimization, run the following command:\n\n```bash\n.\\mvnw -Pnative-dev clean package\n```\n\nThis will generate a native application with minimal optimization, suitable for development and\ntesting purposes.\n\n#### Production\n\nTo create a slow build, but optimized application, run the following command:\n\n```bash\n.\\mvnw -Pnative-prod clean package\n```\n\n### Contributing\n\nIf you would like to contribute to JMessenger, please fork the repository and submit a pull request.\nFor major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\nThis project is licensed under the MIT License - see\nthe [LICENSE](https://github.com/FelipeKobra/JMessenger?tab=MIT-1-ov-file) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipekobra%2Fjmessenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipekobra%2Fjmessenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipekobra%2Fjmessenger/lists"}