The following list gives an overview of the samples provided in subdirectories. Each sub directory essentially is an individual npm package arranged in an all-in-one monorepo umbrella setup.
- A simplistic Hello World service using CDS and cds.services.
- Typescript support
- Getting Started with CAP, briefly introducing:
- Project Setup and Layouts
- Domain Modeling
- Defining Services
- Generic Providers
- Adding Custom Logic
- Using Databases
- Showcases how to extend @sap/cds/common thereby covering:
- Building extension packages
- Providing reuse packages
- Verticalization
- Using Aspects
- Used in the fiori app sample
- A standalone orders management service, demonstrating:
- Using Compositions in Domain Models, along with
- Serving deeply nested documents
- Shows how to implement a modular service to manage product reviews, including:
- Consuming other services synchronously and asynchronously
- Serving requests synchronously
- Emitting events asynchronously
- Grow as you go, with:
- Mocking app services
- Running service meshes
- Late-cut Micro Services
- As well as managed data, input validations, and authorization
- A composite app, reusing and combining these packages:
- The Vue.js app imported from
bookshop
is served as well - The Vue.js app imported from
reviews
is served as well - The Vue.js app imported from
data-viewer
is served as well - The Fiori app imported from
orders
is served as well - OpenAPI export + Swagger UI
- Adds an SAP Fiori elements application to bookstore, thereby introducing:
- OData Annotations in
.cds
files - Support for Fiori Draft
- Support for Value Helps
- Serving SAP Fiori apps locally
- Fiori Elements V2
- OData V2 using CDS OData V2 Adapter Proxy
- List Report (type
TreeTable
) @sap.hierarchy
annotations
See the Serving Fiori UIs documentation for more information.
Each sample sub directory essentially is a standard npm package, some with standard npm dependencies to other samples. The root folder's package.json has local links to the sub folders, such that an npm install
populates a local node_modules
folder and acts like a local npm registry to the individual sample packages.