This project is meant to simplify the initial configuration needed to create and deploy an end-to-end application to a Cloud Foundry account in SAP Cloud Platform.
What cf-create-app does for you?
- Creates a basic CAP application
- Adds a simple React, Angular or Vue application to your project
- Adds an HTML5 Deployer to the project
- Adds an Application Router to the project
- Adds the HTML5 Application Repository service (app-host and app-runtime) to the project
- Adds the Authentication and Authorization service (XSUAA) to the project
- Bind all modules together as a MTA application, ready to be deployed in a Cloud Foundry environment
cf-create-app uses the following technologies and frameworks:
- SAP Cloud Application Programming Model (CAP)
- SAP Application Router
- Multi Target Applications (MTA)
- SAP HTML5 Application Repository
- SAP XSUAA service
- Any HTML5 application frameworks (e.g. ReactJS, Angular, VueJS, SAP UI5, ...)
Setting and end-to-end application in SAP Cloud Platform is not a trivial task.
This tool creates a project with all the components you need to build (and easily deploy) a web application with a CAP backend exposing OData services, and an HTML5 application ready to consume those services.
Pre-requisite | Description | Documentation |
---|---|---|
Node.js v12 | Required runtime for this boilerplate. Recommended install it with NVM | Download |
cf cli | Cloud Foundy CLI tool | Download |
To be able to deploy this application you need an SAP Cloud Platform account in the Cloud Foundry (CF) environment.
In your CF account space, the following services must be available:
- HTML5 Application Repository |
html5-apps-repo
- SAP HANA Schemas & HDI Containers |
hana
- Authorization & Trust Management |
xsuaa
Tools | Description | Documentation |
---|---|---|
VS Code CDS extension | VS Code extension with code complete and other tools for CDS development | Download |
MTA Plugin for CF CLI | Plugin to add useful commands to manage MTA applications using CF CLI | Download |
HTML5 Applications Repository CF CLI Plugin | Plugin to add useful commands to manage HTML5 Application Repository apps using CF CLI | Download |
Open a terminal in your workspace directory and run:
npx cf-create-app YOUR_APP_NAME
In the comand prompt, choose the frontend framework you prefer:
In the comand prompt, choose the frontend framework you prefer:
The new project contains these folders and files, following the recommended project layout:
File / Folder | Purpose |
---|---|
app/ |
content for UI frontends go here |
approuter/ |
Application Router configuration files |
db/ |
your domain models and data go here |
html5Deployer/ |
helper application to deploy HTML5 apps to the HTML5 Application Repository service in SAP Cloud Platform |
srv/ |
your service models and code go here |
package.json |
project metadata and configuration |
README.md |
this getting started guide |
- Add/modify entities to your DB schema on
db/
folder - Add/modify services to your backend app in the
srv/
folder - Add/modify your custom HTML5 application in the
app/
folder - Modify the Application Router behaviour on
approuter/xs-app.json
Open a terminal in the project root directory and run:
mbt build
cf deploy mta_archives/yourAppMtarArchiveName.mtar
Learn more about localhost development on: Localhost Development
Learn more about manual configuration on: Manual Configuration
These are some of our backlog items
- Add UI5 app via setup script and document it
- Include test automation to the setup script and documentation
- Add CI/CD pipeline with Jenkins
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
Project Link: https://github.com/Turutupa/cf-create-app