{"id":17326554,"url":"https://github.com/http4k/http4kbox","last_synced_at":"2025-08-04T11:34:16.264Z","repository":{"id":55458882,"uuid":"142794331","full_name":"http4k/http4kbox","owner":"http4k","description":"Multi-platform http4k demo application","archived":false,"fork":false,"pushed_at":"2025-01-01T16:30:21.000Z","size":442,"stargazers_count":21,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-30T12:54:42.079Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://http4kbox.http4k.org/","language":"Kotlin","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/http4k.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},"funding":{"github":"http4k"}},"created_at":"2018-07-29T20:47:49.000Z","updated_at":"2025-05-19T00:53:18.000Z","dependencies_parsed_at":"2024-10-24T13:02:08.109Z","dependency_job_id":"e8fc1c18-1a69-4950-8fce-497d83695d91","html_url":"https://github.com/http4k/http4kbox","commit_stats":{"total_commits":125,"total_committers":6,"mean_commits":"20.833333333333332","dds":"0.17600000000000005","last_synced_commit":"9e14586abd2be98e1e5f5a6065b82c686c84903c"},"previous_names":["http4k/http4kbox","daviddenton/http4kbox"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/http4k/http4kbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4k%2Fhttp4kbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4k%2Fhttp4kbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4k%2Fhttp4kbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4k%2Fhttp4kbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http4k","download_url":"https://codeload.github.com/http4k/http4kbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4k%2Fhttp4kbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268625832,"owners_count":24280427,"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-03T02:00:12.545Z","response_time":2577,"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":[],"created_at":"2024-10-15T14:16:22.300Z","updated_at":"2025-08-04T11:34:16.224Z","avatar_url":"https://github.com/http4k.png","language":"Kotlin","readme":"# http4kbox - http4k app deployed in multiple modes\n\nThis is a simple Dropbox clone built with [**http4k**](https://http4k.org) which uses S3 as a backing store, implemented\nin ~50 lines of code (when imports are excluded). It is designed to demo that http4k apps run identically in the\nfollowing modes:\n\n1. As a Kotlin function with SunHttp dev server for tests - see [app](./app)\n1. In a deployed local Undertow server + Apache HTTP client - see [local](./local)\n1. To Heroku as a cloud-based Helidon server (with Helidon client) deployed through a fully CD pipeline run on GitHubActions -\n   see [heroku](./heroku-app)\n1. Into a Kubernetes cluster - see [k8s](./k8s)\n1. As a pure Kotlin function deployed in a Serverless environment (AWS Lambda) - see [serverless](./serverless)\n1. As a native Apache server binary running in GraalVM - see [native](./native)\n\nApart from the switchable server backen   ds and clients, the core app uses the following [**http4k**](https://http4k.org)\nmodules and features:\n\n- `http4k-core` \u003c-- main HTTP library\n- `http4k-config` \u003c-- for 12-factor configuration via environmental properties\n- `http4k-connect-amazon-s3` \u003c-- replaces the Java AWS SDK with a lightweight http4k client\n- `http4k-template-rocker` \u003c-- for templating\n- `http4k-multipart` \u003c-- multipart form uploads\n- `http4k-testing-hamkrest` \u003c-- for test assertions\n\n## In action:\n\n\u003cimg src=\"image.png\"/\u003e\n","funding_links":["https://github.com/sponsors/http4k"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp4k%2Fhttp4kbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttp4k%2Fhttp4kbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp4k%2Fhttp4kbox/lists"}