Files
cloud-cap-samples/samples.md
2020-03-02 10:24:33 +01:00

74 lines
3.3 KiB
Markdown

# Overview of Samples
The list below gives an overview of the samples provided in subdirectories.
Each sub directory essentially is a individual npm package arranged in an [all-in-one monorepo](all-in-one-monorepo) umbrella setup.
## [hello](hello)
- 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).
## [bookshop](bookshop)
- [Getting Started](https://cap.cloud.sap/docs/get-started/in-a-nutshell) with CAP, briefly introducing:
- [Project Setup](https://cap.cloud.sap/docs/get-started/) and [Layouts](https://cap.cloud.sap/docs/get-started/projects)
- [Domain Modelling](https://cap.cloud.sap/docs/guides/domain-models)
- [Defining Services](https://cap.cloud.sap/docs/guides/providing-services)
- [Generic Providers](https://cap.cloud.sap/docs/guides/generic-providers)
- [Adding Custom Logic](https://cap.cloud.sap/docs/guides/service-impl)
- [Using Databases](https://cap.cloud.sap/docs/guides/databases)
## [common](common)
- Showcases how to extend [@sap/cds/common](https://cap.cloud.sap/docs/cds/common) thereby covering...
- Building [extension packages](https://cap.cloud.sap/docs/guides/domain-models#aspects-extensibility)
- Providing [reuse packages](https://cap.cloud.sap/docs/get-started/projects#sharing-and-reusing-content)
- [Verticalization](https://cap.cloud.sap/docs/cds/common#adapting-to-your-needs)
- Using [Aspects](https://cap.cloud.sap/docs/cds/cdl#aspects)
- Used in the [fiori app sample](#fiori)
## [orders](orders)
- Adds orders to the [bookshop](#bookshop), thereby demonstrating...
- Using [Compositions](https://cap.cloud.sap/docs/cds/cdl#compositions) in [Domain Models](https://cap.cloud.sap/docs/guides/domain-models), along with
- [Serving deeply nested documents](https://cap.cloud.sap/docs/guides/generic-providers#serving-structured-data)
## [reviews](reviews)
- Shows how to implement a modular service to manage product reviews, including...
- Serving requests synchronously
- Emitting events asynchronously
- As well as managed data, input validations and authorization
## [reviewed](reviewed)
- Enhances [bookshop](#bookshop) with [reviews](#reviews), thereby showcasing...
- Consuming other services synchronously
- As well as asynchronously, subscribing to events
- Grow as you go, with...
- Mocking app services
- Running service meshes
- Late-cut Micro Services
## [fiori](fiori)
- [Adds a Fiori elements application](https://cap.cloud.sap/docs/guides/fiori/), introducing to...
- [OData Annotations](https://cap.cloud.sap/docs/guides/fiori#adding-odata-annotations) in `.cds` files
- Support for [Fiori Draft](https://cap.cloud.sap/docs/guides/fiori#draft)
- Support for [Value Helps](https://cap.cloud.sap/docs/guides/fiori#value-help)
- Serving Fiori apps locally
- Combining most of the other samples through [package reuse](https://cap.cloud.sap/docs/get-started/projects#sharing-and-reusing-content)
<br>
# All-in-one Monorepo
Each 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.