{"ref":"artifact:capire-bookstore-java","page":"/artifacts/capire-bookstore-java","json":"/artifacts/capire-bookstore-java.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"capire-bookstore-java","name":"bookstore-java","artifact_type":"sample","ecosystem":"cap","flavors":[{"key":"java","source":{"url":"https://github.com/capire/bookstore-java","title":"capire/bookstore-java — README, Run it","checked":"2026-10-19","quote":"### Run it\n\n```sh\nmvn spring-boot:run\n```"}}],"use_as":"starting-point","domain":"learning-and-reference","origin_ring":"sap-official","description":{"one_line":"The Java implementation of the [capire/bookstore](artifact:capire-bookstore) composite app: bookshop, reviews, orders and a common content package, each its own repository.","short":"Java implementation of the capire/bookstore composite app","what_it_solves":"The same composition as the Node [capire/bookstore](artifact:capire-bookstore) — four parts the README links as separate repositories, plus the SAP Fiori elements UIs that live in this repository's own `app` folder — on CAP Java, where `mvn spring-boot:run` starts it. Locally the reuse services stay separate: the README starts [orders](https://github.com/capire/orders-java) and [reviews](https://github.com/capire/reviews-java) as their own applications with `mvn cds:watch` and connects them to bookstore through the `with-orders` and `with-reviews` spring profiles. Building it needs the `@capire` packages from [GitHub](external:github)'s npm registry, which the README says may need a login with a personal access token carrying the `read:packages` scope."},"links":{"repo":"https://github.com/capire/bookstore-java"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/capire/bookstore-java","title":"capire/bookstore-java — README","checked":"2026-10-19","quote":"A composite app of\n\n- [bookshop](https://github.com/capire/bookshop-java) – a simple [primer app](https://cap.cloud.sap/docs/get-started/in-a-nutshell?impl-variant=java)\n- [reviews](https://github.com/capire/reviews-java) - a generic reuse service\n- [orders](https://github.com/capire/orders-java) - a generic reuse service\n- [common](https://github.com/capire/common) - a reuse content package\n- [SAP Fiori Elements UIs](app)"}]}},"compat":{"runtimes":["java"]},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:reference-apps"],"maintainers":["actor:capire"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:akatuoro","actor:vl-leon"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-09, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":0,"forks":1,"open_issues":2,"archived":false,"pushed_at":"2026-09-18","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-12-18T10:34:54Z","open_prs":1,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":1864,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-12-18","last_commit":"2026-04-08","commits":23,"contributors":2,"readme_path":"README.md","readme_sha":"1217dcd7c89368f25d082591e14d01f2a73f9024","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:capire","name":"Capire Docs & Samples","json":"/actors/capire.json"}],"contributors":[{"ref":"actor:akatuoro","name":"Johannes Vogt","json":"/actors/akatuoro.json"},{"ref":"actor:vl-leon","name":"Vladislav Leonkev","json":"/actors/vl-leon.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}