Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added session 6 #2

Merged
merged 1 commit into from
Jul 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 37 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,15 @@ Everything discussed in the Twitch live sessions for MuleSoft beginners.

## 🗓️ Next session

The next session is scheduled for `July 19, 2023` at `1:30pm ET`.
The next session is scheduled for `July 26, 2023` at `1:30pm ET`.

What we'll do:
- Homework review
- Continue with the implementation for the rest of the resources
- Making sure the IDs are unique
- Handle errors (not just happy path)
- Create writers, categories, etc. from POST/articles when needed
- Postman collections
- Debugging
- Fixing errors
- Making sure the IDs are unique
- Handle errors (not just happy path)
- Create writers, categories, etc. from POST/articles when needed
- Deploy API to CloudHub - manually
- Runtime Manager
- API Manager

---

Expand All @@ -33,6 +31,7 @@ What we'll do:
| 3 | Design an API Specification | We created the requirements for our Blog API and started designing our API Spec. Finish your homework before the next session! More info [here](https://medium.com/another-integration-blog/mulesoft-from-start-a-beginners-guide-session-3-design-an-api-specification-2a315899f22f). | [Full video (1h16m)](https://www.twitch.tv/videos/1846281214) | [Edited video (42min)](https://youtu.be/XIrCqwmTPQs)
| 4 | Test & Publish the API Spec | We tested the API Specification using the mocking service in Design Center and adjusted a few things we had to change. Then, we published the API Spec to Exchange. Finally, we created a new Mule project from the published asset. More info [here](https://medium.com/another-integration-blog/mulesoft-from-start-a-beginners-guide-session-4-test-publish-the-api-specification-7dcca81e0b07). | [Full video (1h10m)](https://www.twitch.tv/videos/1858212063) | [Edited video (27min)](https://youtu.be/ho5GQJD8Hxo)
| 5 | Develop the API in Anypoint Studio | We created a new Mule project with the scaffolded flows from the published API specification and started our API implementation / development. More info [here](https://medium.com/another-integration-blog/mulesoft-from-start-a-beginners-guide-session-5-develop-the-api-in-anypoint-studio-a7dcfc43655c). | [Full video (1h19m)](https://www.twitch.tv/videos/1864154096) | [Edited video (37m)](https://youtu.be/K9ntwKz9vds)
| 6 | Debug the Mule App in Anypoint Studio | We reviewed how to implement the articles logic, created a Postman collection with its local+dev environments, and learned how to debug our Mule application. | [Full video (1h)](https://www.twitch.tv/videos/1876220306) | Edited video tbd

---

Expand Down Expand Up @@ -396,27 +395,45 @@ Steps:

</details>

### ◻️ Session 6
### Session 6

- Continue with the implementation for the rest of the resources
- Making sure the IDs are unique
- Handle errors (not just happy path)
- Create writers, categories, etc. from POST/articles when needed
- Postman collections
- Debugging
- Fixing errors
<details>
<summary>Debug the Mule App in Anypoint Studio</summary>

- [Mule Events](https://docs.mulesoft.com/mule-runtime/4.4/about-mule-event)
- [Postman](https://www.postman.com/)

</details>

<details>
<summary>Homework for next session</summary>

Finish creating the rest of the requests in Postman from our API specification.

</details>

<details>
<summary>Alex's homework solution</summary>

tbd before the next session

</details>

### ◻️ Session 7

- Continue with the implementation for the rest of the resources
- Making sure the IDs are unique
- Handle errors (not just happy path)
- Create writers, categories, etc. from POST/articles when needed
- Deploy API to CloudHub - manually
- Runtime Manager
- API Manager
- CI/CD with GitHub Actions
- Maven
- Secured/encrypted properties

### ◻️ Session 8

- CI/CD with GitHub Actions
- Maven
- Secured/encrypted properties
- DataWeave

### ◻️ Session 9
Expand Down
121 changes: 121 additions & 0 deletions postman/mulesoft-from-start.postman_collection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"info": {
"_postman_id": "0158597b-f401-47df-a8cc-06d4fe7f7fac",
"name": "mulesoft-from-start",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "28608251"
},
"item": [
{
"name": "articles",
"item": [
{
"name": "GET /articles",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{host}}/articles",
"host": [
"{{host}}"
],
"path": [
"articles"
]
}
},
"response": []
},
{
"name": "GET /articles/{articleId}",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{host}}/articles/4",
"host": [
"{{host}}"
],
"path": [
"articles",
"4"
]
}
},
"response": []
},
{
"name": "DELETE /articles/{articleId}",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{host}}/articles/1",
"host": [
"{{host}}"
],
"path": [
"articles",
"1"
]
}
},
"response": []
},
{
"name": "PUT /articles/{articleId}",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"id\": 1,\n \"title\": \"The Importance of Regular Exercise\",\n \"content\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac est eu mauris faucibus consectetur. Nunc vehicula hendrerit nulla, non vulputate justo ultrices sit amet. Mauris varius lorem sit amet sem laoreet, id lacinia eros auctor. Donec tincidunt augue vel dolor pharetra tincidunt. Aliquam dapibus sed neque vitae sagittis. Sed sit amet nibh id nunc vehicula laoreet. Morbi fermentum auctor est, eu tempor tortor lobortis nec. Etiam tincidunt, lorem a viverra facilisis, nunc lorem aliquet magna, euismod ullamcorper ligula metus et augue.\",\n \"writer\": {\n \"id\": 1,\n \"name\": \"Esmeralda\",\n \"bio\": \"20+ years of experience in IT and very smart.\"\n },\n \"category\": \"Example\",\n \"comments\": [\n {\n \"id\": 1,\n \"content\": \"Hey, this was a nice post!\",\n \"author\": \"Alex Martinez\"\n }\n ],\n \"slug\": \"importance-of-regular-exercise\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{host}}/articles/1",
"host": [
"{{host}}"
],
"path": [
"articles",
"1"
]
}
},
"response": []
},
{
"name": "POST /articles",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"id\": 1,\n \"title\": \"The Importance of Regular Exercise\",\n \"content\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac est eu mauris faucibus consectetur. Nunc vehicula hendrerit nulla, non vulputate justo ultrices sit amet. Mauris varius lorem sit amet sem laoreet, id lacinia eros auctor. Donec tincidunt augue vel dolor pharetra tincidunt. Aliquam dapibus sed neque vitae sagittis. Sed sit amet nibh id nunc vehicula laoreet. Morbi fermentum auctor est, eu tempor tortor lobortis nec. Etiam tincidunt, lorem a viverra facilisis, nunc lorem aliquet magna, euismod ullamcorper ligula metus et augue.\",\n \"writer\": {\n \"id\": 1,\n \"name\": \"Esmeralda\",\n \"bio\": \"20+ years of experience in IT and very smart.\"\n },\n \"category\": \"Example\",\n \"comments\": [\n {\n \"id\": 1,\n \"content\": \"Hey, this was a nice post!\",\n \"author\": \"Alex Martinez\"\n }\n ],\n \"slug\": \"importance-of-regular-exercise\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{host}}/articles",
"host": [
"{{host}}"
],
"path": [
"articles"
]
}
},
"response": []
}
]
}
]
}
121 changes: 121 additions & 0 deletions sessions/6/mulesoft-from-start.postman_collection.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"info": {
"_postman_id": "0158597b-f401-47df-a8cc-06d4fe7f7fac",
"name": "mulesoft-from-start",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "28608251"
},
"item": [
{
"name": "articles",
"item": [
{
"name": "GET /articles",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{host}}/articles",
"host": [
"{{host}}"
],
"path": [
"articles"
]
}
},
"response": []
},
{
"name": "GET /articles/{articleId}",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{host}}/articles/4",
"host": [
"{{host}}"
],
"path": [
"articles",
"4"
]
}
},
"response": []
},
{
"name": "DELETE /articles/{articleId}",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{host}}/articles/1",
"host": [
"{{host}}"
],
"path": [
"articles",
"1"
]
}
},
"response": []
},
{
"name": "PUT /articles/{articleId}",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"id\": 1,\n \"title\": \"The Importance of Regular Exercise\",\n \"content\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac est eu mauris faucibus consectetur. Nunc vehicula hendrerit nulla, non vulputate justo ultrices sit amet. Mauris varius lorem sit amet sem laoreet, id lacinia eros auctor. Donec tincidunt augue vel dolor pharetra tincidunt. Aliquam dapibus sed neque vitae sagittis. Sed sit amet nibh id nunc vehicula laoreet. Morbi fermentum auctor est, eu tempor tortor lobortis nec. Etiam tincidunt, lorem a viverra facilisis, nunc lorem aliquet magna, euismod ullamcorper ligula metus et augue.\",\n \"writer\": {\n \"id\": 1,\n \"name\": \"Esmeralda\",\n \"bio\": \"20+ years of experience in IT and very smart.\"\n },\n \"category\": \"Example\",\n \"comments\": [\n {\n \"id\": 1,\n \"content\": \"Hey, this was a nice post!\",\n \"author\": \"Alex Martinez\"\n }\n ],\n \"slug\": \"importance-of-regular-exercise\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{host}}/articles/1",
"host": [
"{{host}}"
],
"path": [
"articles",
"1"
]
}
},
"response": []
},
{
"name": "POST /articles",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"id\": 1,\n \"title\": \"The Importance of Regular Exercise\",\n \"content\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac est eu mauris faucibus consectetur. Nunc vehicula hendrerit nulla, non vulputate justo ultrices sit amet. Mauris varius lorem sit amet sem laoreet, id lacinia eros auctor. Donec tincidunt augue vel dolor pharetra tincidunt. Aliquam dapibus sed neque vitae sagittis. Sed sit amet nibh id nunc vehicula laoreet. Morbi fermentum auctor est, eu tempor tortor lobortis nec. Etiam tincidunt, lorem a viverra facilisis, nunc lorem aliquet magna, euismod ullamcorper ligula metus et augue.\",\n \"writer\": {\n \"id\": 1,\n \"name\": \"Esmeralda\",\n \"bio\": \"20+ years of experience in IT and very smart.\"\n },\n \"category\": \"Example\",\n \"comments\": [\n {\n \"id\": 1,\n \"content\": \"Hey, this was a nice post!\",\n \"author\": \"Alex Martinez\"\n }\n ],\n \"slug\": \"importance-of-regular-exercise\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{host}}/articles",
"host": [
"{{host}}"
],
"path": [
"articles"
]
}
},
"response": []
}
]
}
]
}