{"id":19552901,"url":"https://github.com/wenszel/darwin-world","last_synced_at":"2026-04-28T15:39:03.618Z","repository":{"id":215480185,"uuid":"730348761","full_name":"Wenszel/darwin-world","owner":"Wenszel","description":"🦖 Evolution simulation written in Java and JavaFX","archived":false,"fork":false,"pushed_at":"2024-01-17T16:58:35.000Z","size":2591,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-26T07:20:25.386Z","etag":null,"topics":["java","javafx","simulation"],"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/Wenszel.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-12-11T18:18:56.000Z","updated_at":"2024-01-26T14:50:21.000Z","dependencies_parsed_at":"2024-11-11T04:31:39.254Z","dependency_job_id":null,"html_url":"https://github.com/Wenszel/darwin-world","commit_stats":null,"previous_names":["wenszel/darwin-world"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Wenszel/darwin-world","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wenszel%2Fdarwin-world","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wenszel%2Fdarwin-world/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wenszel%2Fdarwin-world/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wenszel%2Fdarwin-world/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wenszel","download_url":"https://codeload.github.com/Wenszel/darwin-world/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wenszel%2Fdarwin-world/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262213030,"owners_count":23276034,"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":["java","javafx","simulation"],"created_at":"2024-11-11T04:20:04.993Z","updated_at":"2026-04-28T15:38:53.604Z","avatar_url":"https://github.com/Wenszel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDarwin World\u003c/h1\u003e\n\nEvolution simulation written in Java 17 with JavaFX. You can create your own world with animals and check how will they behave based on their genes!\nThis project was created with strong focus on Clean Code practices, SOLID principles, and design patterns.\n\n## Installation\n\n1. Make sure you have installed [JDK for Java 17](https://www.oracle.com/pl/java/technologies/downloads/#java17).\n2. Follow these commands (instead of ./gradlew type gradlew on Windows):\n\n       cd DarwinWorld\n       ./gradlew build\n       ./gradlew run\n3. Enjoy the application! Check out the predefined configuration CSV files located in the main directory, which you can load from the app's main menu.\n\n## Main features\n\n* Implemented design patterns: [Observer](https://github.com/Wenszel/darwin-world/blob/main/DarwinWorld/src/main/java/agh/ics/oop/model/SimulationListener.java) for handling map changes, [Strategy](https://github.com/Wenszel/darwin-world/blob/dev/DarwinWorld/src/main/java/agh/ics/oop/model/Config/variants/MutationVariant.java) to handle multiple variants of the simulation, [Factory](https://github.com/Wenszel/darwin-world/tree/main/DarwinWorld/src/main/java/agh/ics/oop/model/factories) for creating different map types, [Builder](https://github.com/Wenszel/darwin-world/blob/main/DarwinWorld/src/main/java/agh/ics/oop/model/stats/AnimalStatisticsBuilder.java) for complex object constructions.\n* Followed SOLID principles for scalable and maintainable codebase.\n* Implemented efficient [algorithm](https://github.com/Wenszel/darwin-world) for counting all offspring of an animal.\n* Ensured code quality with JUnit tests.\n* Managed the project workflow with Git and GitHub Projects adopting the Kanban approach.\n* Implemented multithreading for executing simulations in separate threads and for running excessive calculations in the background.\n\n## Technologies\n* Java 17\n* JavaFX\n* Gradle\n* JUnit\n* Git\n\n## Screenshots\n![menu](https://github.com/Wenszel/darwin-world/blob/main/images/menu.png)\n![simulation](https://github.com/Wenszel/darwin-world/blob/main/images/simulation.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenszel%2Fdarwin-world","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenszel%2Fdarwin-world","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenszel%2Fdarwin-world/lists"}