{"id":20875270,"url":"https://github.com/kruglov-dmitry/akka_http_actor_demo","last_synced_at":"2026-06-04T19:31:02.568Z","repository":{"id":85015503,"uuid":"157176509","full_name":"kruglov-dmitry/akka_http_actor_demo","owner":"kruglov-dmitry","description":"Example of simple web REST-service on top of akka http with dedicated dispatchers for blocking operations","archived":false,"fork":false,"pushed_at":"2019-07-12T10:12:15.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-19T09:12:06.351Z","etag":null,"topics":["akka-http","rest-api","scala"],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/kruglov-dmitry.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":"2018-11-12T07:57:20.000Z","updated_at":"2018-12-27T19:52:51.000Z","dependencies_parsed_at":"2023-04-09T04:17:12.935Z","dependency_job_id":null,"html_url":"https://github.com/kruglov-dmitry/akka_http_actor_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruglov-dmitry%2Fakka_http_actor_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruglov-dmitry%2Fakka_http_actor_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruglov-dmitry%2Fakka_http_actor_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kruglov-dmitry%2Fakka_http_actor_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kruglov-dmitry","download_url":"https://codeload.github.com/kruglov-dmitry/akka_http_actor_demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243249011,"owners_count":20260768,"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-http","rest-api","scala"],"created_at":"2024-11-18T06:43:35.178Z","updated_at":"2025-12-11T19:32:40.424Z","avatar_url":"https://github.com/kruglov-dmitry.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Requirements\nJDK 8 or above\nSBT 0.13.17\n\n### Assumptions\n1) username and password ascii strings without special symbols\n2) settings of parallelism will be defined by cfg file via deployment section for particular actors\n3) API endpoints will receive \u0026 return data in plain json format \n4) no security\n\n### How to build\n```bash\nsbt assembly\n```\n\nwill create fat jar with all dependencies at `target/scala-2.11/akka_http_actor_demo-assembly-1.0.0.jar`\n\n### How to run\n\n1) edit cfg file at conf/app.conf\n2) execute start.sh by invoking sh start.sh\n3) use following endpoints to validate requests:\n```bash\ncurl -w \"\\n\" -XGET 'http://localhost:8080/healthcheck'\n\ncurl --header \"Content-Type: application/json\" \\\n  --request POST \\\n  --data '{\"username\":\"A\",\"password\":\"A\"}' \\\n  http://localhost:8080/v1/auth\n\ncurl --header \"Content-Type: application/json\" \\\n  --request POST \\\n  --data '{\"username\":\"B\",\"password\":\"A\"}' \\\n  http://localhost:8080/v1/auth\n\ncurl --header \"Content-Type: application/json\" \\\n  --request POST \\\n  --data '{\"username\":\"B\",\"password\":\"B\"}' \\\n  http://localhost:8080/v1/auth\n  \n  curl -v --header \"Content-Type: application/json\" \\\n    --request POST \\\n    --data '{\"username\":\"B\"}' \\\n    http://localhost:8080/v1/auth\n```\n\nIf you want to run multiple simultaneous requests you may rely on simple python scripts:\nby default it send 1k request and print their results\n\n```bash\ncd load_test\npip install -r requirements.txt\npython run_load.py\n```\n\n### Notes\n\nNOTE: in case you have encrypted home folder or mounted volume(s)\nyou may need to run following commands before assembling and after every \n```bash\nsbt clean:\n```\n\n```bash\nrm -rf ./target\nmkdir /tmp/`echo $$`\nln -s /tmp/`echo $$` ./target\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkruglov-dmitry%2Fakka_http_actor_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkruglov-dmitry%2Fakka_http_actor_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkruglov-dmitry%2Fakka_http_actor_demo/lists"}