{"id":26878790,"url":"https://github.com/maksik997/myhub","last_synced_at":"2026-04-13T12:01:54.969Z","repository":{"id":284079214,"uuid":"899252842","full_name":"maksik997/MyHub","owner":"maksik997","description":"Web appliaction created in Spring, with good portion of Thymeleaf","archived":false,"fork":false,"pushed_at":"2025-05-30T19:55:16.000Z","size":246,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-31T05:14:48.617Z","etag":null,"topics":["css","html","html-css","java","spring-boot","spring-boot-web","thymeleaf"],"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/maksik997.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2024-12-05T22:35:03.000Z","updated_at":"2025-05-26T19:03:00.000Z","dependencies_parsed_at":"2025-03-24T03:32:36.489Z","dependency_job_id":"0784d5aa-1f4d-4d2c-b233-36827aa0a898","html_url":"https://github.com/maksik997/MyHub","commit_stats":null,"previous_names":["maksik997/myhub"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/maksik997/MyHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksik997%2FMyHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksik997%2FMyHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksik997%2FMyHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksik997%2FMyHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maksik997","download_url":"https://codeload.github.com/maksik997/MyHub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maksik997%2FMyHub/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270165937,"owners_count":24538439,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["css","html","html-css","java","spring-boot","spring-boot-web","thymeleaf"],"created_at":"2025-03-31T12:29:33.454Z","updated_at":"2025-08-13T01:45:15.486Z","avatar_url":"https://github.com/maksik997.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyHub\nThis web application, built using the Spring Framework and Thymeleaf,\nis designed to help you easily manage your entertainment in a simple and efficient way.\nInstead of relying on a traditional database, the application leverages the filesystem of the server to store data.\n\nThis mini-project was created to enhance programming skills and to provide a practical solution for organizing workspace.\n\n## Introduction\nThe application have two main features:\n### Games:\nThe Games module allows you to host your favorite HTML-based games.\nWhile it currently doesn’t support game management (e.g., adding or removing games through the UI),\nit provides a simple way to enjoy browser games in one centralized location.\n### Gallery:\nThe Gallery module lets you view and organize media files stored on the server. Key features include:\n- **Media Upload**: Upload images and videos directly to the server.\n- **Preview and Download**: Open media files in a separate tab for a better viewing experience, or download them to your device.\n\n### How it works:\n- **Filesystem as a Database**: All data, including games and media files, is stored directly in the server’s filesystem. No additional database is required.\n- **Local or Remote Use**: The application can function as both a local or remote server.\n- **HTTPS Support**: You can enable HTTPS for secure communication. If you can generate or obtain an SSL/TLS certificate, configuring HTTPS is straightforward and highly recommended.\n\n## Requirements\nThe application requires:\n- Java: JDK 21\n- Maven: 3.8.x\n- Git\n- Web Browser (only if you want to view the effect :P)\n\n## Installation\nStep-by-step instructions:\n1. Clone Git repository:\n```bash\ngit clone https://github.com/maksik997/MyHub.git\ncd MyHub\n```\n2. Configure the app (See next section).\n3. Build project using Maven:\n```bash\nmvn clean install\n```\n4. Start the application:\n```bash\nmvn spring-boot:run\n```\n\n**Note**: Sometimes, the first few builds may fail. I'm not sure why that happens, but you can try running it a few times.\n\n## Configuration\nBefore using the application, you should adjust a few settings in the `application.properties` file.\n\n### Adjust games and media paths:\n```java\ngame-dir=[YOUR_GAMES_DIRECTORY]\nmedia-dir=[YOUR_MEDIA_DIRECTORY]\n```\nThis particular setting default to:\n```java\ngame-dir=/srv/my_hub/games/\nmedia-dir=/srv/my_hub/pictures\n```\n\n### Set up HTTPS, or simply use HTTP:\n#### To use HTTP \nDelete the following lines:\n```java\nserver.ssl.key-store=#\nserver.ssl.key-store-password=#\nserver.ssl.key-store-type=#\nserver.ssl.key-alias=#\n```\nAs a good practice adjust listening port (e.g. 8080):\n```java\nserver.port=8080\n```\n#### To use HTTPS:\n1. Generate a TLS certificate.\n2. Adjust these settings in the `application.properties` file:\n```java\nserver.ssl.key-store=#\nserver.ssl.key-store-password=#\nserver.ssl.key-store-type=#\nserver.ssl.key-alias=#\n```\n\n## Usage\nUsing the application is straightforward. \nSimply open your browser, type localhost or your server's IP address, append the port number (e.g., localhost:8080), \nand enjoy the application. \nAll available endpoints will be provided through the website interface.\n\n## Post Scriptum\n\nThis great, and kind of obsolete documentation will changed, \nwhen RESTful API is introduced into the project (~version `1.2-1.3`).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksik997%2Fmyhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaksik997%2Fmyhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksik997%2Fmyhub/lists"}