{"id":17794589,"url":"https://github.com/lapplislazuli/solaris","last_synced_at":"2026-01-20T19:32:24.439Z","repository":{"id":45274465,"uuid":"143994943","full_name":"lapplislazuli/Solaris","owner":"lapplislazuli","description":"Sample Project of a solar System for Trainees","archived":false,"fork":false,"pushed_at":"2022-01-04T16:33:37.000Z","size":12838,"stargazers_count":0,"open_issues_count":25,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T13:27:05.796Z","etag":null,"topics":["game","java","javafx","javafx-games"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lapplislazuli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-08T09:58:12.000Z","updated_at":"2021-12-25T16:57:43.000Z","dependencies_parsed_at":"2022-08-19T10:22:33.668Z","dependency_job_id":null,"html_url":"https://github.com/lapplislazuli/Solaris","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lapplislazuli/Solaris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapplislazuli%2FSolaris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapplislazuli%2FSolaris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapplislazuli%2FSolaris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapplislazuli%2FSolaris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lapplislazuli","download_url":"https://codeload.github.com/lapplislazuli/Solaris/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapplislazuli%2FSolaris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28610609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T18:56:40.769Z","status":"ssl_error","status_checked_at":"2026-01-20T18:54:26.653Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["game","java","javafx","javafx-games"],"created_at":"2024-10-27T11:17:20.465Z","updated_at":"2026-01-20T19:32:24.419Z","avatar_url":"https://github.com/lapplislazuli.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solaris\n[![Build](https://github.com/Twonki/Solaris/workflows/javaCI/badge.svg)](https://github.com/Twonki/Solaris/actions)\n![License: MIT](https://img.shields.io/badge/License-MIT-hotpink.svg)\n\nThis repository contains a sample-java-project of a solar system for programmer-trainees.\n\nThis repository is for training both cooperation with git as well as a source for several java-patterns and best-practices.\n\nFeel free to extract code, share your opinion or contribute!\n\n## What to see\n\n* [Singleton Pattern](https://en.wikipedia.org/wiki/Singleton_pattern) (e.g. *UpdateManager*)\n* [Builder Pattern](https://en.wikipedia.org/wiki/Builder_pattern) (*Planet, ShuttleNavigator*)\n* [UnitTests](https://en.wikipedia.org/wiki/Unit_testing) with [JUnit5](https://junit.org/junit5/)\n* Simple userinput with keyboard or mouse\n* reading, altering and saving a JSON configurationfile, including keybindings and general settings (see package *config*)\n* Simple logging with [Log4J2](https://logging.apache.org/log4j/2.x/) and simple sample-loggersettings\n* Its a Maven and Java16Project!\n* It is modular!\n* Travis CI\n\n**Further Goals:**\n\n* reading the Galaxy from a file (either .json or .xml)\n* Use of the [Factory Pattern](https://en.wikipedia.org/wiki/Factory_method_pattern), connected to reading galaxy-files\n* Extend the game with states and different screens (start-screen, game-screen, deathscreen)\n\nHowever, some minor features and refactoring are always ongoing.\n\n## How to Build and run\n\n### Run, Test, Build\n\nI am using Eclipse, so maybe your IDE varies how to perform certain tasks. However, the ideas used are from maven and therefore should also be doable by console.\n\nFor all the following you need to select the project and \"Run as\" -\u003e \"Maven Build ...\".\nFor the goal to run, enter\n\n`clean javafx:run`\n\nto test\n\n`clean test`\n\nto compile a runnable jar into /shade/\n\n`clean compile package`\n\n**Don't forget to name your runconfigurations!** It's in the topmost entry field. Otherwise you will be stuck with some cryptic \"Solaris(1)\",\"Solaris(2)\",etc. \n\nYou can leave the `clean` from every goal, however the caching from maven can hurt you sometimes really bad. \n\nIf you are aware of your dependencies and clean manually when required, these can be left out. For an easy and failsafe entry I spared you those. \n\n**With Console:** you have to put `mvn` in front of the build goals, e.g. `mvn clean install`. Don´t forget to navigate to the root of the folder where the pom.xml is. \n\n### The .Jar\n\nOnce Solaris.jar is build, you can run it via\n\n`$\u003e java -jar Solaris.jar`\n\nYou will need to have the jar executable (should be default, but sometimes linux is tricky) and you will need to have a **config.json next to the jar**.\n\nThe logfile should appear next to the jar after you (tried) to run it. If something breaks, first check your config, and if something else is faulty please open me an issue.\n\nIf you are not a developer and searching for a valid config, either see the repository here or open the Solaris.jar. It has a config.json in it's root.\n\n### Debugging\n\n*Sidenote*: If you want to test some parts of your program, not the total running program, consider just adding debug points into unit tests. The following is for running the full application in debugging.\n\nDebugging the javafx application is a bit more complex. Not too much tho.\nRun the program from console using\n\n`mvn javafx:run@debug`\n\nThis will tell you that there is a debug port on 8000.\n\nNow you need to attach a remote Java Program in your IDE, for eclipse go:\n\n`Debug :bug: -\u003e DebugConfigurations -\u003e Remote Java Application`\n\nChoose a nice name (such as SolarisRemoteDebug), select Solaris as the Project and keep the Port 8000. \nThe logger output will be on the initial console, while the debugging runs normal.\n\nOptionally, if you have added JavaFx properly in your system path, you can just click on `logic.program` *run as - debug*.\n\n### Special Remarks\n\nCurrently when \"running\" you need another config.json in your root directory of the project.\n\nI have it gitignored, so just copy the one from src/main/resources and you should be fine.\n\nTo have the config automaticly copied next to the jar is another goal of mine. But for now it needs to be done manually.\n\n## Where to Start\n\nI appreciate that you want to join the fun! Welcome on board of the Icarus.\n\nSo what are the best places to start?\n\n* **Make new shapes** and show them ! Got an idea for a new satellite? New alienships? cool ice-asteroids?\n* **Make new actions** and bind them to keys. There are always cool actions we need to explore the galaxy.\n* **Make new effects**. Our ship still requires energyshields, nuclearboosts, and a sonarmodule. We are in need of genious engineers like you!\n\nHow do you join the Crew?\n\n1. Open an issue with your idea or tell under an existing issue that your eager to fulfill\n2. Please read the [contribution policy](https://github.com/Twonki/Solaris/blob/master/CONTRIBUTING.md)\n3. Assign yourself to the issue you want and go ahead!\n\nNot sure if your code is fine? Consider tagging *Help Wanted* or for a deeper review open an pull-request of your changes. \n**There is no bad code - your help is always vital to the sake of our galaxy.**\n\n## Build with\n\n* Java16\n* [Maven](https://maven.apache.org/)\n* [JUnit5](https://junit.org/junit5/)\n* [Log4J2](https://logging.apache.org/log4j/2.x/)\n* [JavaFX16](https://openjfx.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flapplislazuli%2Fsolaris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flapplislazuli%2Fsolaris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flapplislazuli%2Fsolaris/lists"}