> For the complete documentation index, see [llms.txt](https://ibm-developer.gitbook.io/digital-developer-conference-hybrid-cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ibm-developer.gitbook.io/digital-developer-conference-hybrid-cloud/serverless-workshop/lab/modify-serverless-app.md).

# Modify Serverless App

## 1. Modify code

Modify the `function computeReward()` section in `bank-knative-service/index.js` file. Modify the code so that it returns different points rewarded based on a category.

```
### index.js
function computeReward(category, amount) {
    if (category == "RIDE") {
        return 2 * amount
    }
    return amount;
}
```

## 2. Build and push container image

You can now build and push the container image with the updated code.

```
$ docker build -t $DOCKER_USERNAME/serverless-workshop-example:2.0 bank-knative-service
$ docker push $DOCKER_USERNAME/serverless-workshop-example:2.0
```

## 3. Modify deployment file

Modify the deployment file in `bank-knative-service/deployment.yaml`.

Make sure the image name is the one you built in the previous step.

```
      containers:
        - image: anthonyamanse/serverless-workshop-example:2.0
```

## 4. Deploy to OpenShift

You can now deploy the serverless app to openshift using `oc apply`

```
$ oc apply -f bank-knative-service/deployment.yaml
```

Verify its status. **READY** should be **True**

```
$ oc get ksvc
NAME                  URL                                                         LATESTCREATED               LATESTREADY                 READY   REASON
process-transaction   http://process-transaction.example-bank.svc.cluster.local   process-transaction-dh7kf   process-transaction-dh7kf   True
```

## 5. Test using the simulator again

```
$ oc get routes
NAME                       HOST/PORT             PATH   SERVICES                           PORT    TERMINATION   WILDCARD
mobile-simulator-service   ***.appdomain.cloud          mobile-simulator-service           <all>   edge          None
```
