{"ref":"artifact:capire-bookstore","page":"/artifacts/capire-bookstore","json":"/artifacts/capire-bookstore.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"capire-bookstore","name":"capire/bookstore","artifact_type":"sample","ecosystem":"cap","domain":"learning-and-reference","origin_ring":"sap-official","description":{"one_line":"A composite application assembled from separately deployed services — bookshop, reviews, orders and a common content package — rather than one project with more folders in it.","short":"Composite CAP app from separately deployed services","what_it_solves":"The sample for the question the primer cannot answer: what changes when the domain is split across services that deploy independently. The reuse services are real repositories, not directories, so the composition is the lesson."},"links":{"repo":"https://github.com/capire/bookstore"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/capire/bookstore","title":"capire/bookstore — README","checked":"2026-10-18","quote":"A composite application assembled from separately deployed services — bookshop, reviews, orders and a common content package — rather than one project with more folders in it."}]}},"identity":{"author":"SAP SE","license":"Apache-2.0"},"demonstrates":["capability:reference-apps","capability:database-connectors","capability:service-composition"],"provenance":{"discovered_via":[{"source":"source:github","channel":"capire"}],"first_seen":"2026-09-08"},"drafted_with_ai":true,"maintainers":["actor:capire"],"contributors":["actor:akatuoro","actor:chgeo","actor:danjoa","actor:dj-adams","actor:etimr","actor:gregorwolf","actor:johannes-vogel","actor:renejeglinsky","actor:sjvans","actor:swaldmann","actor:vl-leon"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"13 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, 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":"good","evidence":"26 test files"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":9,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":9,"forks":8,"open_issues":9,"archived":false,"pushed_at":"2026-10-15","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","contributors":13,"tree_truncated":false,"test_files":26,"workflows":0,"other_ci":false,"readme_bytes":1730,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"readme_path":"README.md","readme_sha":"8cb74d8c211a49d49405c38e24f79d4e8f7c3d0c","created_at":"2025-04-03T06:24:56Z","open_prs":6,"first_commit":"2025-04-03","last_commit":"2026-10-15","commits":68,"repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:capire","name":"Capire Docs & Samples","json":"/actors/capire.json"}],"contributors":[{"ref":"actor:chgeo","name":"Christian Georgi","json":"/actors/chgeo.json"},{"ref":"actor:danjoa","name":"Daniel Hutzel","json":"/actors/danjoa.json"},{"ref":"actor:dj-adams","name":"DJ Adams","json":"/actors/dj-adams.json"},{"ref":"actor:gregorwolf","name":"Gregor Wolf","json":"/actors/gregorwolf.json"},{"ref":"actor:johannes-vogel","name":"Johannes Vogel","json":"/actors/johannes-vogel.json"},{"ref":"actor:akatuoro","name":"Johannes Vogt","json":"/actors/akatuoro.json"},{"ref":"actor:etimr","name":"Olena","json":"/actors/etimr.json"},{"ref":"actor:renejeglinsky","name":"René Jeglinsky","json":"/actors/renejeglinsky.json"},{"ref":"actor:sjvans","name":"sjvans","json":"/actors/sjvans.json"},{"ref":"actor:swaldmann","name":"Steffen Waldmann","json":"/actors/swaldmann.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":[]}}