-`inventory-app container` is a server that contains your inventory-app code running and connected to the inventory database and accessible via port `8080`.
-`billing-app container` is a server that contains your billing-app code running and connected to the billing database and consuming the messages from the RabbitMQ queue, and it can be accessed via port `8080`.
-`api-gateway-app container` is a server that contains your api-gateway-app code running and forwarding the requests to the other services and it's accessible via port `3000`.
- Databases must be deployed as _StatefulSet_, and volumes that enable containers to move across infrastructure without losing the data must be created.
##### Open Postman and make a `POST` request to `http://[GATEWAY_IP]:[GATEWAY_PORT]/api/movies/` address with the following body as `Content-Type: application/json`:
```json
{
"title": "A new movie",
"description": "Very short description"
}
```
###### Can you confirm the response was the success code `200`?
##### In Postman make a `GET` request to `http://[GATEWAY_IP]:[GATEWAY_PORT]/api/movies/` address.
###### Can you confirm the response was success code `200` and the body of the response is in `json` with the information of the last added movie?
#### Billing API Endpoints
##### Open Postman and make a `POST` request to `http://[GATEWAY_IP]:[GATEWAY_PORT]/api/billing/` address with the following body as `Content-Type: application/json`:
```json
{
"user_id": "20",
"number_of_items": "99",
"total_amount": "250"
}
```
###### Can you confirm the response was success code `200`?
##### Stop the billing-app container
###### Can you confirm the `billing-app` container was correctly stopped?
##### Open Postman and make a `POST` request to `http://[GATEWAY_IP]:[GATEWAY_PORT]/api/billing/` address with the following body as `Content-Type: application/json`:
```json
{
"user_id": "22",
"number_of_items": "10",
"total_amount": "50"
}
```
###### Can you confirm the response was success code `200` even if the `billing_app` is not working?
##### Run `kubectl exec -it pods/billing-db-0 -- sh` to enter into the pod, then run `sudo -i -u postgres`, then `psql` and once in the database enter `\l`.
> The `billing-db-0` is the ID of the pods running the billing db database - it might be different. To check which is the pods ID run `kubectl get pods | grep billin-db`
###### Can you confirm the `orders` database is listed?
##### Still in `psql` run `\c orders` and then `TABLE orders;`.
###### Can you confirm the order with `user_id = 20` is listed properly?
###### Can you confirm the order with `user_id = 22` is NOT listed?
#### Check resilience of messaging queue
##### Start the billing-app container
###### Can you confirm the `billing-app` container was correctly stopped?
###### Can you confirm the order with `user_id = 22` is now listed properly?