{"id":28963688,"url":"https://github.com/fresult/akka-interaction-patterns","last_synced_at":"2025-06-24T04:12:13.951Z","repository":{"id":285126865,"uuid":"957129329","full_name":"fResult/Akka-Interaction-Patterns","owner":"fResult","description":"Exercises for \"Akka Interaction Patterns for Java\" course BY AKKADEMY","archived":false,"fork":false,"pushed_at":"2025-04-21T01:55:10.000Z","size":222,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T02:42:49.998Z","etag":null,"topics":["akka","interaction-pattern","java"],"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/fResult.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,"zenodo":null}},"created_at":"2025-03-29T16:16:44.000Z","updated_at":"2025-04-21T01:55:13.000Z","dependencies_parsed_at":"2025-03-29T18:19:59.724Z","dependency_job_id":"ed3d2630-0ecc-4dd3-ae85-192439260e24","html_url":"https://github.com/fResult/Akka-Interaction-Patterns","commit_stats":null,"previous_names":["fresult/akka-interaction-patterns"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fResult/Akka-Interaction-Patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fResult%2FAkka-Interaction-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fResult%2FAkka-Interaction-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fResult%2FAkka-Interaction-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fResult%2FAkka-Interaction-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fResult","download_url":"https://codeload.github.com/fResult/Akka-Interaction-Patterns/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fResult%2FAkka-Interaction-Patterns/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261601534,"owners_count":23183099,"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":["akka","interaction-pattern","java"],"created_at":"2025-06-24T04:12:13.503Z","updated_at":"2025-06-24T04:12:13.935Z","avatar_url":"https://github.com/fResult.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Akka Interaction Patterns for Java (Exercises)\n\nThis repository is to do assigned exercises from\nthe [Akka Interaction Pattern for Java](https://akkademy.akka.io/learn/courses/48/akka-interaction-patterns-for-java)\ncourse OFFERED BY [AKKADEMY](https://akkademy.akka.io)\n\n## Prerequisites\n\n- Java (JDK) 23 or newer\n- Apache Maven 3.9.9 (to be safe, the version should be `3.9.0 \u003c= version \u003c 4.0.0`)\n- IntelliJ IDEA or your preferred IDE\n- Scala 3.6.x or newer \\[for [Scala exercise](#scala-exercises)\\]\n- SBT 1.10.x or newer \\[for [Scala exercise](#scala-exercises)\\] (to be safe, the version should be `1.10.11 \u003c= version \u003c 2.0.0`)\n\n\\[Optional\\] You can use [SDKMAN!](https://sdkman.io/install) to install JDK23, Maven, Scala, and SBT:\n\nInstallation Example:\n\n```bash\nsdk install java 23.0.2-librca # or your preferred version\nsdk install maven 3.9.9\n\nsdk install scala 3.6.4\nsdk install sbt 1.10.11\n```\n\n## Dependencies Upgraded from the actual exercises\n\n### Akka Profile dependencies\n\n- `com.typesafe.akka:akka-bom_2.13` - `v2.9.4` to `com.typesafe.akka:akka-bom_3` - `v2.10.0`\n    - `akka-actor-typed_2.13`  to `akka-actor-typed_3`\n    - `akka-actor-testkit-typed_2.13` to `akka-actor-testkit-typed_3`\n\n### Libraries\n\n- `ch.qos.logback:logback-classic` from `1.2.11` to `1.5.18`\n- `junit` from `4.13.2` to `4.13.2` (not upgrade yet, and as Akka documentation doesn't mention of using JUnit Jupiter (JUnit 5))\n\n### Plugins\n\n- `org.apache.maven.plugins:maven-compiler-plugin` from `3.5.1` to `3.14.0`\n- `org.codehaus.mojo:exec-maven-plugin` from `1.6.0` to `3.5.0`\n- `org.apache.maven.plugins:maven-surefire-plugin` from `2.2.2` to `3.5.3`\n\n## Further Learning\n\n### Java Exercises\n\nUsing OO-Style\n\n1. [Request Response Pattern - Java](./exercises/java/001_request_response_pattern)\n2. [Adapted Response Pattern - Java](./exercises/java/002_adapted_response_pattern)\n   - Use *record classes* with *sealed interfaces* instead of *final classes*\n3. [Timers - Java](./exercises/java/003_timers)\n   - Use *record classes* with *sealed interfaces* instead of *final classes*\n   - Use *pattern matching* instead of `onMessage` in `Behavior`\n\n### Scala Exercises\n\nUsing Functional-Style (with immutable state)\n\n1. [Request Response Pattern - Scala](./exercises/scala/001_request-response-pattern)\n2. [Adapted Response Pattern - Scala](./exercises/scala/002_adapted-response-pattern)\n3. [Timers - Scala](./exercises/scala/003_timers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffresult%2Fakka-interaction-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffresult%2Fakka-interaction-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffresult%2Fakka-interaction-patterns/lists"}