{"id":27248857,"url":"https://github.com/bakdata/kafka-profile-store-demo","last_synced_at":"2025-07-25T20:36:51.316Z","repository":{"id":91689490,"uuid":"200613258","full_name":"bakdata/kafka-profile-store-demo","owner":"bakdata","description":"A Kafka Streams application that creates a queryable profile store","archived":false,"fork":false,"pushed_at":"2022-02-15T11:23:28.000Z","size":115,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T23:48:22.099Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://medium.com/bakdata/implementing-a-queryable-user-profile-store-using-kafka-streams-a7dd2c0b2a54","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/bakdata.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":"2019-08-05T08:19:50.000Z","updated_at":"2022-06-13T07:46:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"a11335b4-7317-4cc2-969b-4aad6db97d32","html_url":"https://github.com/bakdata/kafka-profile-store-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bakdata/kafka-profile-store-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-profile-store-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-profile-store-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-profile-store-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-profile-store-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bakdata","download_url":"https://codeload.github.com/bakdata/kafka-profile-store-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fkafka-profile-store-demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267057841,"owners_count":24028909,"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-07-25T02:00:09.625Z","response_time":70,"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":"2025-04-10T23:48:18.330Z","updated_at":"2025-07-25T20:36:51.303Z","avatar_url":"https://github.com/bakdata.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Implementing a Queryable User Profile Store using Kafka Streams\n\nThis project provides the source code for [our blog post on Medium](https://medium.com/bakdata/implementing-a-queryable-user-profile-store-using-kafka-streams-a7dd2c0b2a54).\nIt contains an extensible and queryable user profile store that is updated in real time and built with Kafka Streams.\n\n## Getting Started\n\nThere are three modules: the core, recommender, and unified REST API. \nThe three modules can be packaged executing `mvn package` in their respective directories. Furthermore, each module contains a Dockerfile, which can be used to build a Docker image by running `docker build .`.\n\nYou need to set the corresponding Kafka broker and the Schema Registry URL as command line arguments. Other options and more detailed information can be obtained by executing the jar with the `-h` switch.\n\n## Kubernetes\nAdditionally, we provide a Kubernetes deployment for the project. The `kubernetes` directory contains the script `install_cluster.sh`. It installs a Kafka cluster including Zookeeper and the Schema Registry on the [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine/). Afterwards, you can execute `install_profile_store.sh` to deploy this project.\nThe REST API is queryable through its respective LoadBalancer IP. Executing `kubectl describe services profile-store-rest` shows the current address.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fkafka-profile-store-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbakdata%2Fkafka-profile-store-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fkafka-profile-store-demo/lists"}