From 327bbbf6a9b4b794609b58aec7c57639e95d8314 Mon Sep 17 00:00:00 2001 From: Rolando Rio <58601896+R0land013@users.noreply.github.com> Date: Sat, 20 Jul 2024 13:06:26 +0200 Subject: [PATCH] Docs: Created README.md --- LICENSE | 21 +++++++ README.md | 73 +++++++++++++++++++++++++ readme_assets/how-it-works-diagram.jpg | Bin 0 -> 26740 bytes 3 files changed, 94 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 readme_assets/how-it-works-diagram.jpg diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1954944 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Rolando Rio Garaboa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d5f993 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +
+ Logo +
+ +# Showly desktop + +Showly is an app to display your slides to other people if you do not have large +screens or projectors to show it easily. Showly desktop supports Linux and Windows, +it has not been tested on MacOS yet. + +## How it works + +When you run Showly desktop you will need to be connected to a LAN network, so +your slides can be shared through that network. All participants of your +talk will connect to the showly instance that is running on your pc using their +web browsers on their pc or smartphones and they will see every single slide on it. + +The following diagram shows how it would be: + +
+ Logo +
+ +## How to run + +To run Showly desktop you will need to have [JDK 17](https://jdk.java.net/archive/) installed +on your system. You can check if you have the correct JDK version running: + +```sh +java --version +``` + +Then you have to download the latest version of Showly desktop from the [releases page](https://github.com/R0land013/showly-desktop/releases). +Now, to run the program you have to open your Terminal in the same directory where +you downloaded the showly app and execute the following command: + +```sh +java -jar name_of_the_file_you_downloaded.jar +``` + +If you have configured your system to open **.jar** files, then you could open the program +double clicking the .jar file. + +## Troubleshooting + +if the participants of your talk are unable to see the slides on their web browsers you +can try these things to fix the problem: + +- Assert that the showly process is showing the slides. +- Check you are connected to the same LAN network as your participants. +- Assert the showly program is allowed through your firewall. +- Check the port you are using to run showly is allowed through your firewall. + +## Contribute and Development + +Showly desktop is a GUI wrapper of [showly package](https://github.com/R0land013/showly), so if +you are a developer and want to make your own Showly GUI, you are able to do it wrapping that +package as I did. + +The requirements of this project are: + +- [Maven 3.8.8 or higher](https://maven.apache.org/) +- [JDK 17](https://jdk.java.net/archive/) + +If you wish to contribute with new features, ideas and bug fixes you can always open an issue. + +## License + +This project is under [MIT LICENSE](/LICENSE). + +## Contact + +You can find my contact info [here](https://r0land013.github.io/). diff --git a/readme_assets/how-it-works-diagram.jpg b/readme_assets/how-it-works-diagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54b7005cf3b91ecd10f242d13efacd3c56fb08e9 GIT binary patch literal 26740 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 E1rBGYhyVZp literal 0 HcmV?d00001