How jasper07/cap-sflight-devops works
CAP SFLIGHT is a flight-and-travel management sample with Node and Java CAP service implementations, processor and analytics UIs, and Azure DevOps pipeline examples. The user-facing workflow centers on maintaining travel records and bookings through the processor, with service-side validation and price/status actions; analytics is a separate documented UI branch. The repository also presents reusable CI/CD pipeline patterns, including performance testing and CTMS upload. Some UI, CDS, and pipeline internals are unsampled, so their connections are omitted where the evidence does not establish them.
Main entry points: travel-service.js Travel service · karma-cap-middleware.js CAP test middleware · CreationHandler.java Travel creation · Component.js Travel processor
Components 20
Travel services
- Travel service
srv/travel-service.js - Travel creation
srv/src/main/java/com/sap/cap/sflight/processor/CreationHandler.java - Status actions
srv/src/main/java/com/sap/cap/sflight/processor/AcceptRejectHandler.java - Discount handling
srv/src/main/java/com/sap/cap/sflight/processor/DeductDiscountHandler.java - Price recalculation
srv/src/main/java/com/sap/cap/sflight/processor/RecalculatePriceHandler.java - Travel data model
db/schema.cds - Analytics service
srv/analytics-service.cds - Travel date errors
srv/src/main/java/com/sap/cap/sflight/processor/IllegalTravelDateException.java - Travel status errors
srv/src/main/java/com/sap/cap/sflight/processor/IllegalTravelStatusException.java
User interfaces
- Travel processor
app/travel_processor/webapp/Component.js - Travel analytics
app/travel_analytics/webapp/Component.js
Pipeline examples
- Simple pipeline
azure-pipelines/azure-pipelines-simple.yml - Advanced pipeline
azure-pipelines/azure-pipelines-advanced.yml - Pipeline templates
azure-pipelines/templates - CTMS upload
azure-pipelines/ctms/ctmsUpload.js
Quality tooling
- Browser journey tests
azure-pipelines/e2e/webapp/test/e2e/Journey.test.js - Performance scenario
azure-pipelines/performance/capsflightLaunchpad.js - Performance env loader
azure-pipelines/performance/dotenv.js - CAP test middleware
karma-cap-middleware.js
Other components
- Travel user
Connections 10
- Travel user → Travel processor: manages travel
- Travel processor → Travel service: uses service
- Travel service → Travel data model: queries records
srv/travel-service.js - Travel creation → Travel date errors: throws date errors
srv/src/main/java/com/sap/cap/sflight/processor/CreationHandler.java - Status actions → Travel status errors: throws status errors
srv/src/main/java/com/sap/cap/sflight/processor/AcceptRejectHandler.java - Advanced pipeline → Pipeline templates: uses templates
README.md - Performance scenario → Performance env loader: loads environment
azure-pipelines/performance/capsflightLaunchpad.js - CAP test middleware → Travel service: proxies requests
karma-cap-middleware.js - CAP test middleware → Travel creation: starts Java server
karma-cap-middleware.js - CAP test middleware → Travel service: starts Node server
karma-cap-middleware.js