{"ref":"artifact:sap-samples-ui5-typescript-tutorial","page":"/artifacts/sap-samples-ui5-typescript-tutorial","json":"/artifacts/sap-samples-ui5-typescript-tutorial.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-ui5-typescript-tutorial","name":"SAP-samples/ui5-typescript-tutorial","artifact_type":"sample","ecosystem":"ui5","use_as":"starting-point","domain":"developer-experience","origin_ring":"sap-official","description":{"one_line":"A roughly two-hour tutorial teaching TypeScript for UI5 application development by building a small weather-lookup app, from generator scaffolding through custom controls and testing.","short":"Tutorial on TypeScript for UI5 apps via a weather-lookup app","what_it_solves":"Exercises scaffold an app from the Easy UI5 TypeScript template, wire up controllers, react to user input, call the Open Meteo and Nominatim APIs through third-party npm packages, build a custom control and add tests. It is a TypeScript introduction rather than a UI5 introduction, so it assumes existing UI5 knowledge and spends its two hours on the TypeScript side of the setup. It stops at the exercises: each one links to its own runnable result, and the app itself is deliberately unambitious so the coding stays minimal."},"links":{"repo":"https://github.com/SAP-samples/ui5-typescript-tutorial","homepage":"https://sap-samples.github.io/ui5-typescript-tutorial"},"type_properties":{"form":{"value":"tutorial","sources":[{"url":"https://github.com/SAP-samples/ui5-typescript-tutorial","title":"SAP-samples/ui5-typescript-tutorial — README","checked":"2026-10-18","quote":"This brief (~2 hours) tutorial introduces developers to using TypeScript for UI5 application development."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:ui5-typescript"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:akudev","actor:btbernard","actor:maxreichmann","actor:petermuessig","actor:tobiashofmann"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"6 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"57 test files"},{"label":"Docs","tier":"good","evidence":"README 7 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":109,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":109,"forks":24,"open_issues":0,"archived":false,"pushed_at":"2026-06-05","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2021-12-17T19:18:58Z","open_prs":0,"tree_truncated":false,"test_files":57,"workflows":0,"other_ci":false,"readme_bytes":6907,"docs_files":0,"changelog":false,"license_file":true,"dts_files":2,"first_commit":"2021-12-17","last_commit":"2026-06-05","commits":56,"contributors":6,"readme_path":"README.md","readme_sha":"4c2af0806c68752ca62e3277ec21ed0fb885a929","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:akudev","name":"Andreas Kunz","json":"/actors/akudev.json"},{"ref":"actor:btbernard","name":"Brian Bernard","json":"/actors/btbernard.json"},{"ref":"actor:maxreichmann","name":"Max Reichmann","json":"/actors/maxreichmann.json"},{"ref":"actor:petermuessig","name":"Peter Muessig","json":"/actors/petermuessig.json"},{"ref":"actor:tobiashofmann","name":"Tobias Hofmann","json":"/actors/tobiashofmann.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}