From 6669b983b1f9befc6669fc984f9fb86ef5da967c Mon Sep 17 00:00:00 2001 From: Christian Georgi Date: Tue, 9 Feb 2021 16:33:40 +0100 Subject: [PATCH] First code tour with an overview of the sample repo --- .tours/samples.tour | 136 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 .tours/samples.tour diff --git a/.tours/samples.tour b/.tours/samples.tour new file mode 100644 index 00000000..244e9e16 --- /dev/null +++ b/.tours/samples.tour @@ -0,0 +1,136 @@ +{ + "$schema": "https://aka.ms/codetour-schema", + "title": "CAP Samples", + "steps": [ + { + "title": "Welcome", + "file": "README.md", + "description": "### Welcome to CAP Samples!\n\nThis tour leads you through a collection of samples for the [SAP Cloud Application Programming Model](https://cap.cloud.sap)\nYou will learn which features of the programming models are demonstrated in which sample.\n\nLet's start!", + "line": 2, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 3, + "character": 108 + } + } + }, + { + "file": "hello/world.cds", + "description": "### Hello World!\n\nThis is a simplistic [Hello World](https://cap.cloud.sap/docs/get-started/hello-world) service using [CDS](https://cap.cloud.sap/docs/cds/) and [cds.services](https://cap.cloud.sap/docs/node.js/api#services-api)", + "line": 2, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 4, + "character": 1 + } + }, + "title": "Hello World!" + }, + { + "file": "bookshop/db/schema.cds", + "description": "### A Bookshop!\n\nIntroduces\n- [Project Setup](https://cap.cloud.sap/docs/get-started/) and [Layouts](https://cap.cloud.sap/docs/get-started/projects)\n- [Domain Modeling](https://cap.cloud.sap/docs/guides/domain-models)\n- [Defining Services](https://cap.cloud.sap/docs/guides/providing-services)\n- [Generic Providers](https://cap.cloud.sap/docs/guides/generic-providers)\n- [Adding Custom Logic](https://cap.cloud.sap/docs/guides/service-impl)\n- [Using Databases](https://cap.cloud.sap/docs/guides/databases)\n", + "line": 1, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 32, + "character": 1 + } + }, + "title": "Bookshop" + }, + { + "file": "common/index.cds", + "description": "### Extend and Reuse\n\nShowcases how to extend [@sap/cds/common](https://cap.cloud.sap/docs/cds/common) thereby covering:\n- Building [extension packages](https://cap.cloud.sap/docs/guides/domain-models#aspects-extensibility)\n- Providing [reuse packages](https://cap.cloud.sap/docs/get-started/projects#sharing-and-reusing-content)\n- [Verticalization](https://cap.cloud.sap/docs/cds/common#adapting-to-your-needs)\n- Using [Aspects](https://cap.cloud.sap/docs/cds/cdl#aspects)\n- Used in the [fiori app sample](#fiori)\n", + "line": 1, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 46, + "character": 1 + } + }, + "title": "Common" + }, + { + "file": "orders/db/schema.cds", + "description": "### Compositions and Serving Documents\n\nA standalone orders management service, demonstrating:\n- Using [Compositions](https://cap.cloud.sap/docs/cds/cdl#compositions) in [Domain Models](https://cap.cloud.sap/docs/guides/domain-models), along with\n- [Serving deeply nested documents](https://cap.cloud.sap/docs/guides/generic-providers#serving-structured-data)\n", + "line": 1, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 27, + "character": 1 + } + }, + "title": "Orders" + }, + { + "file": "reviews/db/schema.cds", + "description": "### More Modularity\n\nShows how to implement a modular service to manage product reviews, including:\n- Consuming other services synchronously and asynchronously\n- Serving requests synchronously\n- Emitting events asynchronously\n- Grow as you go, with:\n- Mocking app services\n- Running service meshes\n- Late-cut Micro Services\n- As well as managed data, input validations, and authorization\n", + "line": 1, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 39, + "character": 1 + } + }, + "title": "Reviews" + }, + { + "file": "fiori/app/index.cds", + "description": "### Annotations for SAP Fiori Elements\n\nA [composite app, reusing and combining](https://cap.cloud.sap/docs/guides/verticalize) these packages:\n - [@capire/bookshop](bookshop)\n - [@capire/reviews](reviews)\n - [@capire/orders](orders)\n - [@capire/common](common)\n\n[Adds a SAP Fiori elements application](https://cap.cloud.sap/docs/guides/fiori/) to bookshop, thereby introducing to:\n - [OData Annotations](https://cap.cloud.sap/docs/guides/fiori#adding-odata-annotations) in `.cds` files\n - Support for [Fiori Draft](https://cap.cloud.sap/docs/guides/fiori#draft)\n - Support for [Value Helps](https://cap.cloud.sap/docs/guides/fiori#value-help)\n - Serving SAP Fiori apps locally\n\n[The Vue.js app](bookshop/app/vue) imported from bookshop is served as well\n", + "line": 1, + "selection": { + "start": { + "line": 1, + "character": 1 + }, + "end": { + "line": 13, + "character": 1 + } + }, + "title": "Fiori" + }, + { + "file": "package.json", + "description": "### All-in-one Monorepo\n\nEach sample sub directory essentially is a standard npm package, some with standard npm dependencies to other samples. The root folder's [package.json](package.json) has local links to the sub folders, such that an `npm install` populates a local `node_modules` folder acts like a local npm registry to the individual sample packages.\n", + "line": 8, + "selection": { + "start": { + "line": 8, + "character": 1 + }, + "end": { + "line": 15, + "character": 1 + } + }, + "title": "Packages" + } + ], + "isPrimary": true, + "description": "Overview of CAP Samples for Node.js" +} \ No newline at end of file