{"ref":"artifact:sap-samples-cap-cds-hands-on","page":"/artifacts/sap-samples-cap-cds-hands-on","json":"/artifacts/sap-samples-cap-cds-hands-on.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-cap-cds-hands-on","name":"SAP-samples/cap-cds-hands-on","artifact_type":"sample","ecosystem":"cap","flavors":[{"key":"node","source":{"url":"https://github.com/SAP-samples/cap-cds-hands-on","title":"SAP-samples/cap-cds-hands-on — README","checked":"2026-09-13","quote":"CAP Node.js."}}],"use_as":"starting-point","domain":"data-and-persistence","origin_ring":"sap-official","description":{"one_line":"A hands-on, five-part workshop on CAP's Conceptual Definition Language, from a first entity definition through types, aspects, associations and compositions to annotations and declarative constraints.","short":"Five-part workshop on CDS, from a first service to constraints","what_it_solves":"Fifteen exercises across five parts build a CDS model from a single entity definition up through custom types, aspects, associations and compositions, then expose it via a service and add annotations and declarative constraints. Originally written for a UKISUG Connect 2025 hands-on session, it has since been extended, and it assumes no prior CDS or CAP experience. It stays inside the db/ and srv/ layers of a CAP project rather than covering deployment or a UI."},"links":{"repo":"https://github.com/SAP-samples/cap-cds-hands-on"},"type_properties":{"form":{"value":"workshop","sources":[{"url":"https://github.com/SAP-samples/cap-cds-hands-on","title":"SAP-samples/cap-cds-hands-on — README","checked":"2026-10-18","quote":"In this hands-on workshop you'll become familiar and comfortable with the key features of CDS modelling"}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:data-modelling"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:dj-adams"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"1 contributor, 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":"good","evidence":"README 10 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":24,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":24,"forks":6,"open_issues":0,"archived":false,"pushed_at":"2026-09-18","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-11-27T15:10:40Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":9921,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-11-14","last_commit":"2026-09-18","commits":247,"contributors":1,"readme_path":"README.md","readme_sha":"9a119e0398bd2be6c2a007b00d1310224fe1e554","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:dj-adams","name":"DJ Adams","json":"/actors/dj-adams.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}