{"id":15971369,"url":"https://github.com/danielholmes/coc-base-analyser","last_synced_at":"2025-08-23T10:05:17.655Z","repository":{"id":145825183,"uuid":"72156416","full_name":"danielholmes/coc-base-analyser","owner":"danielholmes","description":"Analyse Clash of Clans war layouts for individual bases or whole clans","archived":false,"fork":false,"pushed_at":"2017-10-25T10:21:45.000Z","size":5801,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-23T10:02:36.371Z","etag":null,"topics":["clash-of-clans","clashofclans","game","mobile-game","supercell"],"latest_commit_sha":null,"homepage":"","language":"Scala","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/danielholmes.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2016-10-27T23:28:19.000Z","updated_at":"2025-08-16T04:09:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"e08e072d-f2e7-4d6a-b223-4d634131d19c","html_url":"https://github.com/danielholmes/coc-base-analyser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielholmes/coc-base-analyser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielholmes%2Fcoc-base-analyser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielholmes%2Fcoc-base-analyser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielholmes%2Fcoc-base-analyser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielholmes%2Fcoc-base-analyser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielholmes","download_url":"https://codeload.github.com/danielholmes/coc-base-analyser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielholmes%2Fcoc-base-analyser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271746515,"owners_count":24813568,"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-23T02:00:09.327Z","response_time":69,"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":["clash-of-clans","clashofclans","game","mobile-game","supercell"],"created_at":"2024-10-07T20:21:15.884Z","updated_at":"2025-08-23T10:05:17.492Z","avatar_url":"https://github.com/danielholmes.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clash of Clans Base Analyser\n\nAnalyses base layouts against sets of war base rules. It runs this analysis in bulk and provides tabulated results for\nthe current war bases for each member in a clan. Additional to this you can click through to an individual's base to\nsee a more in depth analysis.\n\nAnalysis is only allowed for pre-configured clans in the app which are assigned an alias for convenience.\n\n\n## Dependencies\n\n - SBT\n - JDK 8+\n - Scala 2.11\n \nTo find available SBT dependency updates run `sbt dependencyUpdates`\n \n\n## Tests\n\n - All: `sbt test`\n - Individual: `sbt \"test-only org.danielholmes.coc.baseanalyser.baseparser.VillageJsonParserSpec\"`\n - Individual continuous: `sbt ~\"test-only org.danielholmes.coc.baseanalyser.baseparser.VillageJsonParserSpec\"`\n\n\n## Command Line Utils\n\n`sbt 'run-main org.danielholmes.coc.baseanalyser.PrintVillage alpha \"I AM SPARTA!!1!\"'`\n`sbt 'run-main org.danielholmes.coc.baseanalyser.PrintAttackPlacements alpha \"I AM SPARTA!!1!\"'`\n`sbt 'run-main org.danielholmes.coc.baseanalyser.ProfileAnalysis alpha \"I AM SPARTA!!1!\"'`\n\n\n## Running dev version of site (automatically reloads on changes)\n\n`sbt ~tomcat:start`\n\nAvailable at [http://localhost:8080](http://localhost:8080)\n\nAccessing a clan e.g. [http://localhost:8080/clans/alpha](http://localhost:8080/clans/alpha)\n\n\n## Production Build\n\n`sbt package` \n\nthen deploy the war as required:\n\n`target/scala-2.11/coc-base-analyser_2.11-0.1.war`\n\n\n## Game Connection\n\nThe app requires a connection to the Supercell servers to query the village json and other clan members. Note that this \nisn't referring to the official [Clash of Clans API](https://developer.clashofclans.com/), but a direct connection to\nthe game servers how the game does. Once upon a time this project used a product called \"Clan Seeker\" which has since\nbeen discontinued. It's trivial however to write an agent for the app if there's another such service out there:\n\n 1. Write a new game connection agent that implements the \n   [GameConnection Trait](src/main/scala/org/danielholmes/coc/baseanalyser/gameconnection/GameConnection.scala)\n 2. Wire in the game connection in the\n   [Services Trait](src/main/scala/org/danielholmes/coc/baseanalyser/Services.scala)\n\nAt the moment there's a hardcoded stub/testing GameConnection with dummy data\n\n\n## Rules\n\nThe project is very much in a WIP state. Town Hall 8 is pretty fleshed out but TH9 and above don't have many rules.\nAlso these were modelled off of attack and base building meta from around February 2016. Some newer buildings are also \nnot present such as the Bomb Tower.\n\nRules are pretty quick to build due to the building blocks and infrastructure of a modelled base being in place.\n\n\n## Screenshots\n\n![Clan Homepage](docs/images/home-1.png?raw=true \"Clan Home\")\n![Base Analysis 1](docs/images/base-1.png?raw=true \"Base Analysis 1\")\n![Base Analysis 2](docs/images/base-2.png?raw=true \"Base Analysis 2\")\n![Base Analysis 3](docs/images/base-3.png?raw=true \"Base Analysis 3\")\n![Base Analysis 4](docs/images/base-4.png?raw=true \"Base Analysis 4\")\n![Bulk Analysis](docs/images/bulk-1.png?raw=true \"Bulk Analysis\")","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielholmes%2Fcoc-base-analyser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielholmes%2Fcoc-base-analyser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielholmes%2Fcoc-base-analyser/lists"}