All Projects → SAP-samples → btp-full-stack-typescript-app

SAP-samples / btp-full-stack-typescript-app

Licence: Apache-2.0 License
A sample project to demonstrate how to implement a full-stack app with SAP Cloud Application Programming Model, plus SAPUI5 and TypeScript.

Programming Languages

typescript
32286 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to btp-full-stack-typescript-app

teched2021-developer-keynote
SAP TechEd 2021 Developer Keynote: Improving Developers' Lives.
Stars: ✭ 23 (-14.81%)
Mutual labels:  sample, sap-hana, sap-cap, sap-btp
devtoberfest-2021
The home of Devtoberfest 2021 - an open celebration of what makes us developers - coding and collaboration!
Stars: ✭ 212 (+685.19%)
Mutual labels:  sample, sap-hana, sap-cap, sap-btp
cloud-espm-cloud-native
Enterprise Sales and Procurement Model (ESPM) Cloud Native is a project that showcases how an application can be made resilient by implementing resilience design patterns. This application is developed using Spring Boot framework and can be deployed locally as well as on SAP BTP, Cloud Foundry environment.
Stars: ✭ 29 (+7.41%)
Mutual labels:  sample, cloud-foundry, sap-btp, sap-btp-cloud-foundry
cloud-cap-multitenancy
SAP Cloud Application Programming Model (CAP) sample code project with multitenancy using service manager-created SAP HANA containers for tenant data isolation.
Stars: ✭ 33 (+22.22%)
Mutual labels:  sample, cloud-foundry, sap-hana, sap-cap
btp-workflow-management-opensap
This repository contain the exercises for the openSAP course "Improve Business Processes with SAP Workflow Management."
Stars: ✭ 30 (+11.11%)
Mutual labels:  sample, cloud-foundry, sap-btp
cloud-cap-walkthroughs
This project contains exercises and tutorials for SAP Cloud Application Programming Model.
Stars: ✭ 66 (+144.44%)
Mutual labels:  sample, sap-cap, sap-btp
cloud-cap-risk-management
The SAP Risk Management example applications show how to deploy a CAP (SAP Cloud Application Programming model) application to Cloud Foundry and Kyma.
Stars: ✭ 36 (+33.33%)
Mutual labels:  sample, cloud-foundry, sap-cap
ui5-cap-event-app
Showcase of SAP Cloud Application Programming Model and OData V4 with draft mode in a freestyle SAPUI5 app and an SAP Fiori elements app.
Stars: ✭ 70 (+159.26%)
Mutual labels:  sample, sapui5, sap-cap
cloud-bulletinboard-ads
This is the bulletinboard-ads sample application code used in the openSAP course: Cloud-Native Development with SAP Business Technology Platform (formerly SAP Cloud Platform).
Stars: ✭ 75 (+177.78%)
Mutual labels:  sample, cloud-foundry, sap-btp
xf-application-mocks
Contains lightweight substitutes for SAP applications to ease the development and testing of extension and integration scenarios. In conjunction with SAP Business Technology Platform, kyma runtime, the efficient implementation of application extensions is supported without the need for real SAP applications being accessible during development.
Stars: ✭ 21 (-22.22%)
Mutual labels:  sample, sap-btp
hana-native-adapters
Since SAP HANA SPS09 supports writing new adapters for Smart Data Access, Batch Data Loading, ETL, Realtime Replication, and Realtime Transformations. While common adapters are provided by SAP, everyone can write their own adapters using the SAP HANA Adapter SDK. This project aims to provide additional adapters for using them or as samples.
Stars: ✭ 30 (+11.11%)
Mutual labels:  sample, sap-hana
full-stack-web-jetbrains-night-sample
Full-stack demo application written with Kotlin MPP
Stars: ✭ 226 (+737.04%)
Mutual labels:  sample, full-stack
hana-ml-samples
This project provides code examples for SAP HANA Predictive and Machine Learning scenarios and is educational content. It covers simple Predictive Analysis Library SQL examples as well as complete SAP HANA design-time “ML scenario”-application content or HANA-ML Python Notebook examples.
Stars: ✭ 67 (+148.15%)
Mutual labels:  sample, sap-hana
fiori-elements-feature-showcase
Sample application that demonstrates and documents a broad variety of features of SAP Fiori elements for OData V4. Developers can play around with the new features and learn how to implement them.
Stars: ✭ 76 (+181.48%)
Mutual labels:  sample, sap-cap
ui5-service-worker-sample
ui5-service-worker-sample demonstrates how the Service Worker API, available in modern web browsers, could be used in a UI5 app to realize different caching strategies.
Stars: ✭ 16 (-40.74%)
Mutual labels:  sample, sapui5
cloud-cf-espm
A reference application showcasing an end-to-end development scenario in Java on SAP BTP, Cloud Foundry environment.
Stars: ✭ 14 (-48.15%)
Mutual labels:  sample, cloud-foundry
cloud-abap-rap
This repository contains several examples how to develop with the ABAP RESTful Application Programming Model (RAP) in SAP BTP, ABAP environment.
Stars: ✭ 98 (+262.96%)
Mutual labels:  sample, sap-btp
cloud-sample-spaceflight-java
Build Java applications with the application programming model on SAP Cloud Platform.
Stars: ✭ 49 (+81.48%)
Mutual labels:  sample, sap-cap
hana-developer-cli-tool-example
Learn how to build a developer-centric SAP HANA command line tool, particularly designed to be used when performing SAP HANA development in non-SAP tooling (for example from VS Code).
Stars: ✭ 73 (+170.37%)
Mutual labels:  sample, sap-hana
cloud-hana-helloworld
This project provides the full source code for the "Hello World" tutorials on https://hcp.sap.com. In this tutorials you can learn how to make your very first steps on SAP HANA by developing a very simple "Hello World" application using the SAP HANA web-based Development Workbench on the SAP HANA Cloud Platform.
Stars: ✭ 26 (-3.7%)
Mutual labels:  sample, sap-hana

Open in Visual Studio Code License Status REUSE status

Full Stack TypeScript App

This sample project is a full stack application for the SAP BTP, Cloud Foundry environment that utilizes the SAP Cloud Application Programming Model (CAP) for Node.js and SAPUI5 with TypeScript.

TypeScript is a superset of JavaScript, which can essentially be described as JavaScript with syntax for types. The additionally added syntax allows a better editor integration and aims to catch errors early in development.

This project shows a full stack app entirely build with TypeScript. It is based on a basic lecture schedule scenario. The backend service features a simple data model (Rooms, Professors, Courses, Lectures) and provides data to populate a lecture schedule, which is displayed as a planning calendar on the frontend. Users can either view or manage the lecture schedule depending on the roles that are assigned to them.

diagram

UI5 TypeScript Frontend: A freestyle SAPUI5 app serves as the frontend for the project. Component, Controller, and Formatter are implemented using the perks of TypeScript. If you want to learn more about TypeScript with UI5, have a look at the following resources:

CAP TypeScript Backend: The backend service is implemented with CAP Node.js. TypeScript is used to write the service handler for the lecture service. A tsconfig.json file is used to define TypeScript compiler options and configuration. You can find more on using TypeScript with CAP here:

For a more detailed description of the sample app and takeaways when using TypeScript, please take a look at the accompanying blog post: Full Stack TypeScript App for Cloud Foundry - Sample Repository

Requirements

Download and Installation

  1. Clone the project:
git clone https://github.com/SAP-samples/btp-full-stack-typescript-app.git
cd btp-full-stack-typescript-app

(or download from https://github.com/SAP-samples/btp-full-stack-typescript-app/archive/main.zip)

  1. In the btp-full-stack-typescript-app folder, use npm (or yarn) to install the dependencies:
npm install
  1. In the app/lectures sub-folder, use npm (or yarn) to install the dependencies:
cd app/lectures
npm install

Run, Build and Deploy the App

npm run start is for production purposes and not intended to be used on your local machine. Since TypeScript code itself cannot be executed, a transpile step to JavaScript is needed before running the project. Choose one of the following options instead to run the app.

Run the App locally

npm run start-service:ts

The service is now available at http://localhost:4004.

npm run start-ui:ts

The UI5 app is now running on http://localhost:8080/index.html (a browser window with this URL opens automatically).

For local development with mock authentication use one of the following users to test the app:

ID password
admin initial
viewer initial

Run the App locally in watch mode

npm run watch

This starts a local development server in watch mode. Changes to files (including the uncompiled TypeScript resources) are automatically detected and applied. The CAP service is now available at http://localhost:4004 (a browser window with this URL opens automatically to show the generic index.html page), and the UI5 app can be accessed at http://localhost:4004/webapp/index.html.

For local development with mock authentication use one of the following users to test the app:

ID password
admin initial
viewer initial

Build the MTA and Deploy to Cloud Foundry

Additional preparation steps and tools are required to deploy the application to SAP BTP, Cloud Foundry environment. For more information and guidance on the initial setup, please have a look at these tutorials and resources:

mbt build -t ./
cf login
cf deploy lecture-schedule_1.0.0.mtar

Limitations

  • The local database uses in-memory mode. Data will be re-initialized after each restart.
  • The provided sample data only covers a specific timeframe (CW47/2021 to CW05/2022)
  • The user role check for UI adjustments is based on the standalone approuter and BTP roles. Therefore it is not available when running the app locally.

Known Issues

None at the moment.

How to obtain Support

This content is provided "as-is" with no other support.

License

Copyright (c) 2021 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].