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

Proposal Executable tutorial: πŸ‘©β€πŸ« Migrating a monolithic application to microservices #1223

Merged
merged 17 commits into from
Apr 15, 2021

Conversation

annsudo
Copy link

@annsudo annsudo commented Apr 15, 2021

No description provided.

@khaes-kth khaes-kth self-assigned this Apr 15, 2021
@khaes-kth khaes-kth added proposal A task proposal tutorial One of the task categories listed in README.md labels Apr 15, 2021
@khaes-kth khaes-kth merged commit 2cf139e into KTH:2021 Apr 15, 2021
@khaes-kth
Copy link

Good luck!

@annsudo
Copy link
Author

annsudo commented Apr 15, 2021

Thank you! :)

@IC-kth
Copy link

IC-kth commented Apr 16, 2021

I would like to give feedback on your tutorial! :)

@khaes-kth
Copy link

I would like to give feedback on your tutorial! :)

Please add your PR id here.

khaes-kth pushed a commit that referenced this pull request Apr 16, 2021
* Create README.md

Added the README.md file for the essay.

* Update README.md

* Create README.md

Add feedback proposal for executable tutorial.

Co-authored-by: Carl Leijonberg <carllei@kth.se>
@IC-kth
Copy link

IC-kth commented Apr 18, 2021

My PR id is #1227

@annsudo
Copy link
Author

annsudo commented Apr 19, 2021

@IC-kth I am done with the tutorial (#1258), take a look if you are aiming for the remarkable on time submission πŸ˜‰

LaraRos added a commit to LaraRos/devops-course that referenced this pull request Apr 26, 2021
* Update Readme with Feedback on KTH#1013 (KTH#1088)

* Doc Adds Readme

* Update README with feedback

* init feedback proposal (KTH#1082)

* docs: add proposal (KTH#1086)

Co-authored-by: andnil5 <andnil5@kth.se>

* Essay Proposal - Azure (KTH#1057)

* Executable tutorial: Learn to integrate Jest in your React-Redux projects (KTH#1036)

* Essay: ITOPS VS DEVOPS: What is the difference and how they can be used together? (KTH#1084)

Co-authored-by: Carl Leijonberg <carllei@kth.se>

* change of the team member (KTH#1104)

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Essay: Comparison of Azure, AWS, and GCP based on DevOps (KTH#1079)

* Essay proposal: The inner workings of Git (KTH#1092)

* Create README.md

* The inner mechanics of git

* the inner workings of git 2.0

* Update README.md

* Delete contributions/presentation-week2-hheyman directory

* Add presented presentation

* Update README.md

* Create README.md

* fixed folder name

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Feedback proposal: Essay KTH#1092 (KTH#1095)

* add readme and folder

* Rename readme.md to README.md

* Update README.md

* Rename contributions/course-automation/LeeBadal-johennin/README.md to contributions/course-automation/badal-johennin/README.md

* Add files via upload

* Create README.md

* Delete contributions/course-automation/badal-johennin directory

Co-authored-by: LeeBadal <43146567+LeeBadal@users.noreply.github.com>

* added readme' (KTH#1021)

* Executable tutorial: Travis CI React tests (KTH#966)

* Executable tutorial:Travis CI React

* Demo proposal by despinoy and gdba, Docker implementation to a React project

* revisions

* removed unnecessary file

* Demo: Using Cloud Functions in Firebase to create a serverless React app (KTH#967)

* Add README for demo proposal

Co-authored-by: christian-stj <christian@stjernberg.com>
Co-authored-by: LaraRos <rostami.lara@gmail.com>

* Update README.md

* Update README.md

Co-authored-by: christian-stj <christian@stjernberg.com>
Co-authored-by: LaraRos <rostami.lara@gmail.com>
Co-authored-by: Lara <sheiklara@hotmail.com>

* Demo proposal: CD of Node Express App on Google Cloud with designated realese branch using github actions (KTH#986)

* Kalle Pettersson (kalpet@kth.se)
GitHub: [KallePettersson](https://github.com/KallePettersson)

Anders Nillson (andnil5@kth.se)
GitHub: [andnil5](https://github.com/andnil5)

In this demo we will show how to configure a CD environment using GitHub and Heroku.

TBA

* docs: update README.md with proposed solution

Co-authored-by: Kalle Pettersson <kalpet@kth.se>
Co-authored-by: andnil5 <andnil5@kth.se>

* Executable tutorial proposal: Testing and Production environments (KTH#989)

* Create README.md

* Update README.md

* Executable tutorial: MLOps - Automation of Model Evaluation (KTH#1019)

* add executable tutorial ericvi-oscaralm

Co-authored-by: Oscar Almqvist <almqvist.oscar@gmail.com>

* fix: wrong location for README edits

Co-authored-by: Oscar Almqvist <almqvist.oscar@gmail.com>

* fix: added correct ericvi-oscaralm folder

Co-authored-by: Oscar Almqvist <almqvist.oscar@gmail.com>

Co-authored-by: Oscar Almqvist <almqvist.oscar@gmail.com>

* Demo: CI and CD pipeline using azure devops. (KTH#1111)

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Course automation: Improve communication with Discord integration (KTH#1097)

* Demo: Merging tool for Salesforce Deployments (KTH#1098)

* Video demo submission (KTH#1112)

* Create README.md

* Update README.md

* Essay proposal: Security challenges that arise in DevOps (Title WIP) (KTH#1027)

* Essay proposal: Security challenges that arise in DevOps (Title WIP)

* Essay Proposal update

* Executable tutorial: Secure an API endpoint using Keycloak running in Docker (KTH#1094)

Co-authored-by: Dina Lerjevik <lerjevik@kth.se>

* Feeback on essay (KTH#1023) (KTH#1110)

* Feeback on essay (KTH#1023)

* Changed folder name FeedbackContribution to urama

Co-authored-by: IfyUrama <ifeomaurama0@gmail.com>

* fix folder name (KTH#1118)

* course automation proposal

* Update README.md

* executable tutorial proposal

* Deletete course automation README

* add a team member

* add feedback proposal

* update team member

* Delete contributions/executable-tutorial/zidi directory

* fix folder name

* sihan->sihanc in executable-tutorial

* sihan->sihanc in course automation

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Executable tutorial: CI workflow using GitHub actions for Node.js Express app, including automated testing and linting using Jest and Eslint (KTH#1116)

* docs: add tutorial proposal

* docs: update README

Co-authored-by: andnil5 <andnil5@kth.se>

* Changing our presentation date from week 4 to week 5  (KTH#1129)

* Presentation Kanban vs Scrum

* changed presentation week from 4 to 5

Co-authored-by: Eva Despinoy <despinoy@kth.se>

* Delete contributions/presentation/week4/despinoy-gdba directory

* Demo proposal πŸŽ₯  : Testing and running Github actions locally with Act (KTH#1120)

* Create README.md

* Update README.md

* Course Automation: Suggesting legal teammates for projects (KTH#1073)

* Added myself as a participant on an existing project (KTH#1125)

* Added the presentation pdf

* Added Me (Fredrik) as a participant

* Renamed the folder to contain both kth-IDs

* README.md

* Update README.md

* Delete PresentationPrometheus.pdf

* Delete contributions/essay/fbjorkma-adahen directory

* Tutorial: Added team member and changed to locally run tutorial (KTH#1090)

* presentation suggestion

* added folder structure for week 2

* deleted old persentation proposal

* Added tutorial proposal

* Added Fredrik to project

* Changed proposal from using katacoda to a local tutorial

* Fixed broken link

Co-authored-by: Khashayar Etemadi <54890183+khaes-kth@users.noreply.github.com>

* Essay: A/B testing (KTH#979)

* added readme

* added links

* added readme

* added readme

* Deleted the duplicated presentation proposal.

Co-authored-by: Sophie H Ye <he_ye_90s@hotmail.com>

* Essay : Role of DevOps in minimizing downtime on applications using Continuous deployment (KTH#1080)

* Influence of DevOps in Software testing

* Presentation : Continuous Testing in DevOps

* Essay : DevOps in minimizing application downtime

DevOps reduces downtime on applications using continuous deployment

* Rename contributions/presentation/week3/renanb-ved.megha/README.md to contributions/presentation/week3/Renu-Megha/README.md

* Presentation : Influence of DevOps in Software testing

* Presentation: Continuous Testing in DevOps

* Essay: Role of DevOps in minimizing downtime on applications using continuous deployment

* Delete README.md

Co-authored-by: Sophie H Ye <he_ye_90s@hotmail.com>

* Final Submission: Dashboard for tasks (KTH#1034)

* Add initial dashboard mock

* Introduce PR comment action

* Renaming and fixes

* Generated dashboard

* Remove setup node

* Activate only on PR to contributions dir

* Add type definition for JS

* Add markdown library

* Add keyword fetcher

* Generated dashboard

* Generated dashboard

* Remove node_modules from git

* Add ncc and build commands

* Generated dashboard

* data collection for devops repo

* added export of data collection function

* Generated dashboard

* Integrated data collection with markdown generator

* Generated dashboard

* Connected dashboard to github action

* Generated dashboard

* Generated dashboard

* Build new action

* Generated dashboard

* Code refactoring

* Fixed edge cases for parsing authors

* Generated dashboard

* Fixed bug where tasks were undefined

* Generated dashboard

* Added md content to data collection

* Remove backtick from title and content

* Generated dashboard

* Only push and comment if new dashboard data

* Added number of submissions summary table

* Add more keywords

* Clean up and add handling of keywords

* Fix build

* Generated dashboard

* Fix alignment

* Generated dashboard

* Add README's for actions

* Added explanation of final solution

* Removed gh action and generated dashboard files

* Fixed typo

Co-authored-by: Ackuq@ <axel@pettersson.cc>
Co-authored-by: Dashboard bot <dashboard-bot-dd2482@users.noreply.github.com>

* Feedback Proposal: Serverless Applications on Heroku (KTH#1100)

* presentation suggestion

* added folder structure for week 2

* deleted old persentation proposal

* Added tutorial proposal

* Added feedback proposal

* Removed tutorial proposal

* Update feedback README

* Executable-Tutorial: API testing using RestSharp and Specflow in C# application (KTH#1122)

* Feedback proposal: Learn to integrate Jest in your React-Redux projects (KTH#1036) (KTH#1113)

* docs: add proposal

* docs: add feedback proposal

* docs: add feedback proposal

Co-authored-by: andnil5 <andnil5@kth.se>

* Feedback proposal for KTH#982 (KTH#1115)

* Feedback Proposal: Tutorial for feedback: CI workflow for C++ project using Travis CI and CxxTest for automated building and testing [KTH#1138] (KTH#1150)

Co-authored-by: Megha Ved <meghaved@Meghas-MBP.lan>

* doc: add preliminary presentation planning of week 3

* Adds feedback proposal for KTH#1080 (KTH#1151)

* Executable tutorial proposal: Deploying scheduled functions on Kubernetes using Kubeless (KTH#1134)

* Executable Tutorial: GitLab implementation of CI/CD (KTH#1033)

* Demo: ML CI/CD with Google Cloud and Kubeflow (KTH#1074)

* Tutorial proposal: Ansible for Jenkins and K8 (KTH#1102)

* Video demo: Message brokering using RabbitMQ (KTH#1077)

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Course automation proposal: check criterion for groups with 3 students (KTH#1137)

Co-authored-by: elin <eryman@kth.se>

* Feedback: Proposal feedback on KTH#999 "Essay: Automated tests for infrastructure code (KTH#999)" (KTH#1139)

* Added the presentation pdf

* Added Me (Fredrik) as a participant

* Renamed the folder to contain both kth-IDs

* README.md

* Update README.md

* Delete contributions/essay/fbjorkma-adahen directory

* Delete PresentationPrometheus.pdf

* Update and rename contributions/executable-tutorial/chrigu-fbjorkma/README.md to contributions/executable-tutorial/chrigu/README.md

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Executable tutorial proposal: CI workflow for C++ project using Travis CI and CxxTest for automated building and testing (KTH#1138)

* Draft README for course-automation task

* Updated the proposal

* proposal: Added proposal for an executbable tutorial

Co-authored-by: Kalle Pettersson <kalpet@kth.se>

* Feedback proposal (essay): Azure KTH#1057 (KTH#1154)

* Executable Tutorial: Deploying an API with a Custom Lambda Authorizer using Serverless (KTH#1161)

* Add feedback README (KTH#1162)

* Tutorial Proposal: Implementing AWS Lambda and invoking it with AWS SES (KTH#1160)

* Demo proposal: Automatically publishing tested Node.js packages on npm with Github Actions (KTH#1152)

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Tutorial: Continuous benchmarking using Github Actions (KTH#1158)

* material for week 4

* Feedback proposal: executable tutorial KTH#1116 (KTH#1135)

* Essay proposal by agnesfo and gdba, comparison of DevOps and SRE

* Update README.md

* Feedback executable tutorial KTH#1116

* fix error

* Feedback executable tutorial KTH#1116

* remove essay folder

Co-authored-by: Agnes <agnesfo@kth.se>
Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Feedback proposal: Essay - ITOPS VS DEVOPS: What is the difference and how they can be used together? (KTH#1159)

* add readme

* Update README.md

* Feedback proposal: for essay [KTH#1027] (KTH#1153)

Co-authored-by: Gustaf Lidfeldt <glidfeldt@kth.se>

* Feedback proposal for essay pr KTH#1069 (KTH#1101)

* Feedback proposal on Essay KTH#1079 (KTH#1087)

* admin: pushing empty feedback branch

* doc: Added feedback proposal

Co-authored-by: Kalle Pettersson <kalpet@kth.se>

* Feedback proposal: Implementing AWS Lambda and invoking it with AWS SES KTH#1160 (KTH#1164)

* Executable-tutorial proposal: Create multi Jenkins containers in Windows-Sub-Linux based on systemd-nspawn. (KTH#1169)

* Executable tutorial proposal: setup systemd-nspawn container on linux

* Update Executable-tutorial topic and Proposal

* Open-source contribution: Bug fixing for the open-source project act (KTH#1172)

* feat: Added description of project

* feat: Included link to repository

* feat: Fixed bullet point list

* feat: Added code

* feat: Added issue template

* enhancement: Better instructions

* enahancement: Nestled list

* enhancement: Small fixes

* feat: New description

* enhancement: Improved grading criteria section

* feat: Completed code

* fix: Fixed repository path

* enhancement: Clarified description

* fix: Fixed course repository path

* feat:(Added README.md for open-source contribution)

* feat:(Removed work related to course automation for this bransch)

Co-authored-by: Dina Lerjevik <lerjevik@kth.se>
Co-authored-by: dmariel <34478937+dmariel@users.noreply.github.com>

* Presentation proposal: BizDevOps (KTH#1170)

* Update README.md

* Essay proposal: property based testing (KTH#1177)

* course automation proposal

* Update README.md

* executable tutorial proposal

* Deletete course automation README

* add a team member

* add feedback proposal

* update team member

* Delete contributions/executable-tutorial/zidi directory

* fix folder name

* sihan->sihanc in executable-tutorial

* sihan->sihanc in course automation

* essay proposal

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Submission: demo (KTH#1175)

* add: readme with description of demo

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Submission: Presentation/week3 - Continuous versus Automated testing (KTH#1183)

* WIP presentation proposal

* Update README.md

* Update presentation proposal

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Gabriel Chang <gc.chang95@gmail.com>
Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Fix broken link to slides

* Fixed my folder usernames for proper statistics (All tasks already registred) (KTH#1185)

* Added readme for week3

* Update README.md

* WIP Presentation week 3, Topic TDA

* WIP Presentation week 3, Topic TBA

* (WIP) MLOPS

Presentation idea for week 3, idea and outline still work in progress but will update shortly

* MLOPS : Current application and future possibilities

Updated Readme with initial ideas for presentation

* MLOps: Current application and future possibilities

Added README for presentation idea

* Added readme

* deleted testfile

* Demo:  ML CI/CD with Github Actions and Kubernetes

Added README to demo

* Update readme

* added alternative idea

* Feedback on essay KTH#988

* Delete jhammarstedt-Carllei

* added readme

* Feedback on KTH#988

* Update README.md

* Feedback  KTH#988

* Feedback on KTH#988

* fix

* Fix PR error

* new try for PR

* Delete file for separate PR

* update foldername and modified idea to google cloud

* fixed names

* lowercase names

* Feedback Proposal (Essay): property based testing KTH#1177 (KTH#1184)

* Presentation GitOps

* GitOps

* Presentation GitOps

* Add feedback proposal (KTH#1177)

* Add feedback proposal (KTH#1177)

* add link to the PR

* Presentation proposal: Infastructure Automation using Ansible. (KTH#1181)

* Create Readme.md

Demo: Github integration with Jenkins

* Presentation proposal: Infastructure Automation using Ansible.

* added slides (KTH#1191)

* Introduction to BizDevOps (add slides & references)  (KTH#1193)

* doc: add proposal for executable tutorial

* presentation: add a presentation proposal about BizDevOps

* presentation: add presentation proposal (now it should not be conflict)

* presentation: add final slides and references

* Create README.md (KTH#1194)

* Feedback proposal: for KTH#1163 (KTH#1174)

* Feedback proposal (Tutorial) for KTH#1158 (KTH#1188)

* Video demo:  How to leverage Docker and Kubernetes for creating a Microservice Web App (KTH#1007)

* (docs) Added a Readme.md Regarding the Presentation I want to make

* (docs) Added Readme.md for essay

* (doc) Created Readme for my Video Demo

* (doc) Removed some files and put README in write folder

* (doc) Changed Readme to minimize the work needed to complete the Task

Co-authored-by: taqui <taqui@kth.se>

* Presentation proposal : Devops with Tuleap (KTH#1119)

* Presentation proposal

* Corrected presentation proposal

* Clarify proposal

* Presentation changed

* Presentation proposal (KTH#1199)

Added description about proposal for a presentation on flaky tests

* Essay proposal - The Rust language build pipelines (KTH#1141)

Co-authored-by: Yannik Sander <accounts@ysndr.de>
Co-authored-by: Fredrik BjΓΆrkman <pfl.bjorkman@gmail.com>
Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* Executable tutorial proposal: Using GitLab CI/CD to setup a Unity project with automated testing (KTH#1163)

* # Executable-tutorial: Setting up a Linode server running Integrity for Continuous Integration testing with automated (KTH#1173)

Co-authored-by: Dina Lerjevik <lerjevik@kth.se>
Co-authored-by: dmariel <34478937+dmariel@users.noreply.github.com>

* Presentation Proposal: CodeQL for automated code analysis (KTH#1171)

* added readme with presentation proposal. (KTH#1206)

* Tutorial update - added team member (KTH#1195)

* init feedback proposal

* added new member

* Feedback proposal (Essay) for KTH#1141 - The rust language build pipelines (KTH#1197)

* suggestion

* feedback proposal

* renamed folder to KTH-ID

* Proposal Feedback: Comparison of Splunk and Nagios Devop monitoring tools and their use cases KTH#1021 (KTH#1178)

* feat: Added description of project

* feat: Included link to repository

* feat: Fixed bullet point list

* feat: Added code

* feat: Added issue template

* enhancement: Better instructions

* enahancement: Nestled list

* enhancement: Small fixes

* feat: New description

* enhancement: Improved grading criteria section

* feat: Completed code

* fix: Fixed repository path

* enhancement: Clarified description

* fix: Fixed course repository path

* added feedback proposal removed other courses file

* removed other topic files

* Added email addresses

Co-authored-by: Dina Lerjevik <lerjevik@kth.se>
Co-authored-by: dmariel <34478937+dmariel@users.noreply.github.com>

* Essay proposal: Polyglot programming with GraalVM (KTH#1201)

* Feedback proposal: on KTH#1009  (KTH#1202)

* Open source contribution proposal: Contributor Scoreboard (KTH#1149)

* Update README.md

* Create README.md

* Update README.md

* asda

* dsf

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update proposal

* Clarify word count example action

Co-authored-by: Markus WesslΓ©n <markus.wesslen@gmail.com>

* Essay proposal - How to use Jira for agile project managment (KTH#1167)

* Tutorial: Introduction of Pijul (KTH#1189)

* Tutorial: Introduction of Pijul

* Add participant info

* Add Daniel as author

* Remove Felix (sorry felix.. :')

* Move description to correct directory

* Add notice about tutorial platform

* Feedback proposal on KTH#1169 (KTH#1198)

* feedback proposal

* feedback proposal on another task

* Essay Proposal: Low-code Ops and the art of abstraction (KTH#1205)

* Presentation proposal: Whitebox fuzzing (KTH#1207)

* Add presentation proposal, whitebox fuzzing

* Update README.md

* Essay proposal: Introduction to ChatOps (KTH#1218)

* Course automation proposal: check criterion for groups with 3 students

* README added

* Course-automation file deleted

* Updated README with new proposal

Co-authored-by: elin <eryman@kth.se>

* Feedback proposal: on KTH#1214 (KTH#1221)

Co-authored-by: Alexander <>

* Proposal Executable tutorial: πŸ‘©β€πŸ« Migrating a monolithic application to microservices  (KTH#1223)

* Course automation: Improve communication with Discord integration

* Course automation submission: Improve communication with Discord integration

* Course automation submission: πŸŽ₯  Improve communication with Discord integration

* Update README.md

* Create README.md

* Update README.md

* Delete contributions/executable-tutorial/annnik directory

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Essay submission (KTH#1220)

* Demo submission: Setting up Done CI with Bitbucket (KTH#1231)

* Doc ReadMe embryo

* Doc ReadMe toddler

* Add information for first video draft

* Update project description and YouTube link

Co-authored-by: sebene <>
Co-authored-by: majate <maja.tennander@yahoo.se>

* Essay submission: Types of deployments (KTH#1229)

* Create README.md

* Essay proposal: Types of deployments

* Create Forms_of_deployment.pdf

* Update README.md

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Demo submission: CD of Node Express App on Google Cloud with designated release branch using Github actions (KTH#1200)

* Draft README for course-automation task

* Updated the proposal

* Kalle Pettersson (kalpet@kth.se)
GitHub: [KallePettersson](https://github.com/KallePettersson)

Anders Nillson (andnil5@kth.se)
GitHub: [andnil5](https://github.com/andnil5)

In this demo we will show how to configure a CD environment using GitHub and Heroku.

TBA

* docs: update README.md with proposed solution

* docs: update readme with demo outline

* docs: add links, motivation, take home message and grading matrix

* docs: spell check

* docs: correct errors

Co-authored-by: Kalle Pettersson <kalpet@kth.se>
Co-authored-by: andnil5 <andnil5@kth.se>

* Add tutorial link (KTH#1213)

* Feedback: Automation of web frontend testing using Selenium (KTH#1219)

* Add feedback

* Update grammar and spelling

* Feedback on Essay: What are the benefits of using Infrastructure as Code? (KTH#1222)

* Create ReadMe.md

* Update ReadMe.md

* [Submission] Tutorial: Serverless Applications on Heroku (KTH#1215)

* [Submission] Tutorial: Serverless Applications on Heroku

* Proposal -> Description

* Update description

* Feedback submission: KTH#1215 Tutorial, Serverless Applications on Heroku (KTH#1217)

* presentation suggestion

* added folder structure for week 2

* deleted old persentation proposal

* Added tutorial proposal

* Added feedback proposal

* Removed tutorial proposal

* Added finished feedback

* Removed tutorial proposal

* Added finished feedback

* Submission: Demo πŸŽ₯ (KTH#1182)

* Create README.md

* Update README.md

* Update README.md

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* # Feedback proposal on KTH#1223 (KTH#1227)

* Create README.md

Added the README.md file for the essay.

* Update README.md

* Create README.md

Add feedback proposal for executable tutorial.

Co-authored-by: Carl Leijonberg <carllei@kth.se>

* Executable tutorial proposal: Set up Renovate with a NodeJS based Web Application (KTH#1228)

* Executable tutorial proposal: CI for Python with unittest using Github Actions (KTH#1230)

* Create readme

* Executable tutorial proposal

* Remove other project

* Open-source proposal: Meta-data Report of Github Repo  (KTH#1237)

* Create README.md

* Suggestion for an updated project proposal

Co-authored-by: EleonoraBorzis <47255376+EleonoraBorzis@users.noreply.github.com>

* Video demo (KTH#1246)

* Create README.md

* Update README.md

* Updated URL with shorter video

* Updated demo length to be exactly 3 minutes (KTH#1250)

* add: readme with description of demo

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update with new video length

The video's length has been changed from 3:09 minutes to 3:0 minutes

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Demo submission: Publishing a Java package to Maven Central using Github Actions (KTH#1253)

* Course automation: Submission (KTH#1093)

* Create README.md

* Course automation: Verify pull request content changes

* improved description

* Create python-app.yml

* Create verify_markup_and_change_location.py

* Create python-app.yml

* works on push and pull request

* fix yml

* Update python-app.yml

* Update python-app.yml

* Update python-app.yml

* Update python-app.yml

* Update python-app.yml

* Update python-app.yml

* potential fix

* Update python-app.yml

* Update README.md

* improved python file

* Update verify_markup_and_change_location.py

* Update verify_markup_and_change_location.py

* Update README.md

* fix python file

* fix readme

* improved documentation for py file

* improved documentation

* Update python-app.yml

* Update python-app.yml

* Create EXAMPLE_README.md

* Update python-app.yml

* Update python-app.yml

* Update python-app.yml

* Update verify_markdown_and_change_location.py

* improve error messages

* Update EXAMPLE_README.md

* Update verify_markdown_and_change_location.py

* Update verify_markdown_and_change_location.py

* for testing

* Update README.md

* Update README.md

* final changes

* Made for cooperation

Errors made more informative and  changes done to accommodate pull-requests (Final Submission: Dashboard for tasks KTH#1034) assumptions for formatting.

* Update README.md

* changes to architecture

* test

* Update verify_location.py

* Update verify_location.py

* Update verify_location.py

* Update verify_location.py

* Update python-app.yml

* Update python-app.yml

* Final solution with better description

* Update README.md

* Update README.md

* refactored solution

* Presentation Proposal: Cloud and the journey for a start-up to Fortune 500 (Follow up)  (KTH#1243)

* Update read me file for presentation

* Update readme for presentation

* Update README.md

* Changed length of demo to exactly 2.59 (KTH#1260)

* Create README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Change folder name (KTH#1241)

* Create README.md

* Update README.md

* Update README.md

* Change folder name 

changed to my kth-alias instead of GitHub-alias.

* Executable tutorial proposal: AWS with Clojure (KTH#1245)

* Demo proposal: Monitoring availability using Cloudprobe and Prometheus (KTH#1248)

* Presentation proposal: Gradle vs. Maven (KTH#1252)

* Add proposal to README

* fix typo (demo -> tutorial) and added links

* Remove other project

* Add presentation proposal

Co-authored-by: Maja Tennander <>

* Demo: Automatically generate Python unittest results in HTML reports with Jenkins (KTH#1254)

* Proposal demo:  Continuous deployment on Google Play Store  (KTH#1255)

* Demo: Continuous deployment on Google Play Store

* Fix typos

* Executable tutorial: How to setup CI/CD pipeline for react-app (KTH#1263)

* [Submission]Executable tutorial: πŸ‘©β€πŸ«  Migrating a monolithic application to micro services (KTH#1258)

* Course automation: Improve communication with Discord integration

* Course automation submission: Improve communication with Discord integration

* Course automation submission: πŸŽ₯  Improve communication with Discord integration

* Update README.md

* Create README.md

* Update README.md

* Delete contributions/executable-tutorial/annnik directory

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>

* Request to update already merged PR (KTH#1036)  (KTH#1242)

* Feedback request

* Course automation proposal

* Update README.md

* Executable tutorial proposal

* Update README.md

* Delete contributions/course-automation/agnespet-ebauer directory

* Proposal

* Updated proposal

* Update README.md

* Delete contributions/executable-tutorial/agnespet-ebauer directory

* Delete contributions/feedback/agnespet directory

* Addressed the requested changes

* Update README.md

Co-authored-by: Khashayar Etemadi <khaes@kth.se>

* Executable Tutorial: Building a CI/CD Pipeline for a small frontend in a Kubernetes Cluster using Terraform (KTH#1196)

* (docs) Added a Readme.md Regarding the Presentation I want to make

* (docs) Added Readme.md for essay

* (doc) Created Readme for my Video Demo

* (doc) Removed some files and put README in write folder

* (doc) created inital readme for the executable tutorial

* Changed Proposal by adding Terraform to make it more original

* (docs) added a member to the proposal and explained where it will be hosted

* (refactor) Changed the Folder Structure

Co-authored-by: taqui <taqui@kth.se>
Co-authored-by: taqui <taqui@pop-os.localdomain>

* Feedback proposal: KTH#979 (KTH#1121)

* Executable Tutorial: nginx on vagrant box

* Update README.md

* add specification about katacoda

* remove before rebase

* add proposal for video demo

* Update README.md

* add proposal for feedback

* Delete feedback proposal

* add feedback proposal

* make sure only the feedback is in on feedback branch

Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>

* chore: Add the "Registered_KTH_IDs.txt" file (KTH#1155)

* Uploading the slides for presentation SonarQube (KTH#1265)

* slides

* Update README.md

* Presentation slides for GitOps presentation (KTH#1266)

* Presentation GitOps

* GitOps

* Presentation GitOps

* Add feedback proposal (KTH#1177)

* Add feedback proposal (KTH#1177)

* add link to the PR

* Add presentation slides

* doc: clarify constraint for essay (KTH#1275)

* Presentation proposal: Mobile backend as a Service in DevOps (KTH#1235)

* add readme

* Update README.md

* Add proposal

* Delete README.md

* Update README.md

* Update README.md

add member

* rename folder

* Feedback: proposal for essay KTH#1167 (KTH#1091)

* Feedback proposal for KTH#1080

* Update feedback proposal

* Demo submission: Docker monitoring using Datadog (KTH#1272)

* Add video demo proposal

Co-authored-by: Eric VickstrΓΆm <eric.vickstrom98@gmail.com>

* Updated README for Datadog

* Demo submission README update

Co-authored-by: Eric VickstrΓΆm <eric.vickstrom98@gmail.com>

* Feedback proposal: for KTH#1205 (KTH#1264)

* Essay Proposal - Azure

* Essay proposal

* Added new member

* Removed team member

* Small fix: renamed folder

* Feedback proposal

* Renamed folder

* Changed feedback proposal

* Feedback proposal: on KTH#1196 (KTH#1225)

Co-authored-by: Alexander <>
Co-authored-by: Khashayar Etemadi <khaes@kth.se>

* Executable-tutorial: Proposal modification (KTH#1268)

* init feedback proposal

* changed proposal

* Feedback proposal: KTH#1263 "Executable tutorial: How to setup CI/CD pipeline for react-app" (KTH#1267)

* create README.md

* Update README.md

* Update README.md

Co-authored-by: Khashayar Etemadi <khaes@kth.se>

* Feedback proposal on KTH#1134: Deploying scheduled functions on Kubernetes using Kubeless (KTH#1273)

* Executable tutorial proposal: Integrating Code Climate in developers workflow with shell scripts and docker (KTH#1278)

* add readme and folder

* Rename readme.md to README.md

* Update README.md

* Rename contributions/course-automation/LeeBadal-johennin/README.md to contributions/course-automation/badal-johennin/README.md

* Add files via upload

* Revert "Rename contributions/course-automation/LeeBadal-johennin/README.md to contributions/course-automation/badal-johennin/README.md"

This reverts commit f88c5a5.

* Delete contributions/course-automation/LeeBadal-johennin directory

* Delete contributions/course-automation/badal-johennin directory

* Create README

Proposal

Co-authored-by: johennin <52281498+johennin@users.noreply.github.com>
Co-authored-by: Johan <johennin@kth.se>

* Withdraw proposal KTH#1201 (KTH#1280)

* essay proposal

* Update members

* Delete previous folder

* Removing proposal

* Amend students involved in tutorial (KTH#1262)

* Update README.md

* Presentation Proposal: Managing secrets in dynamic environments with HashiCorp Vault (KTH#1282)

* doc: Course automation proposal

* doc: Presentation proposal for week 5

* doc: Updated presentation proposal for week 5

* Final Submission - Course Automation: Checking Open-Source Requirements (KTH#1068)

* Add a github action to check open-source requirements

* Add link for updated grading criteria

* Revert "Final Submission - Course Automation: Checking Open-Source Requirements (KTH#1068)" (KTH#1298)

This reverts commit 9169a2f.

* Feedback Proposal on Executable Tutorial KTH#1278 (KTH#1292)

* Propose feedback

* Typo fix

* Final Submission - Course Automation: Checking Open-Source Requirements (KTH#1299)

* Add a github action to check open-source requirements

* Add link for updated grading criteria

* Remove workflow

* Change folder name (KTH#1289)

* Create Readme.md

Demo: Github integration with Jenkins

* Create yuxinm-urama

* Create Readme.md

* Delete Readme.md

* Awesome guest lecturer for week 6

* Delete contributions/presentation/week3/renanb-ved.megha directory (KTH#1300)

* Presentation : DevOps adoption in large Enterprise through Continuous Testing (KTH#1285)

* Influence of DevOps in Software testing

* Presentation : Continuous Testing in DevOps

* Essay : DevOps in minimizing application downtime

DevOps reduces downtime on applications using continuous deployment

* Rename contributions/presentation/week3/renanb-ved.megha/README.md to contributions/presentation/week3/Renu-Megha/README.md

* Presentation : Influence of DevOps in Software testing

* Presentation: Continuous Testing in DevOps

* Essay: Role of DevOps in minimizing downtime on applications using continuous deployment

* Delete README.md

* Presentation : DevOps adoption in large Enterprise through Continuous Testing

Added link to the presentation and updated the folder name with my partner's kth username.

* Feedback Proposal

* Feedback Proposal for Essay KTH#1165

* Delete contributions/feedback/renanb directory

* Delete contributions/essay/renanb-yuxinm directory

Co-authored-by: Sophie H Ye <he_ye_90s@hotmail.com>

* Course Automation Proposal: Labelizing "feedbackable" merged PR contributions (KTH#1306)

* Added important information to README (KTH#1309)

Co-authored-by: Alexander <>

* Tutorial proposal update change (oldPR: KTH#1163) (KTH#1313)

* Add Executable tutorial proposal

* Update Proposal 

Updated proposal to be run locally instead of Katacoda as Katacoda was unfortunately not suited for this tutorial.

* [Submission] Executable tutorial: CI workflow using GitHub Actions for Node.js, Express app, Jest and ESLint (KTH#1269)

* docs: add tutorial proposal

* docs: update README

* docs: update readme

* docs: add links to feedback, and feedback follow up

Co-authored-by: andnil5 <andnil5@kth.se>

* added presentation slides. (KTH#1302)

* Updated Demo: Setting up Drone CI with Bitbucket (KTH#1322)

* Doc ReadMe embryo

* Doc ReadMe toddler

* Add information for first video draft

* Update project description and YouTube link

* Update YouTube link

Co-authored-by: sebene <>
Co-authored-by: Xbast <34154689+Sebberh@users.noreply.github.com>

* Course automation grading clarification (KTH#1209)

* course automation clarification

* Update grading-criteria.md

* Update grading-criteria.md

* information regarding required links added

* added information about github marketplace

* Submission of Course Automation (KTH#1146)

* Update README.md

* Essay Proposal

* Delete README.md

* Update README.md

* Tutorial proposal: Automated monitoring/analytics with ELK Stack (KTH#1251)

* Add tutorial proposal folder and empty README

* Update README.md

Update README with tutorial proposal.

* Update README.md

* Exacutable tutorial propsal: setting up splunk in docker container (KTH#1314)

* Create README.md

* New Proposal

* New proposal

fix spelling errors

* updated proposal

added some clarification that the tutorial is more about splunk than docker

Co-authored-by: hallon-heyman <hallon.heyman@gmail.com>

* Feedback proposal on tutorial  KTH#1102 (KTH#1317)

* Update README.md

* Create README.md

* Update README.md

* dfgd

* sdfs

* asda

* sdfs

* feat: GHA to check essay word count (KTH#1297)

* Github Action for essay word count check added

* Feedback on KTH#1271: Deploying scheduled functions on Kubernetes using Kubeles (KTH#1287)

* Add feedback proposal

* Add feedback

Co-authored-by: Eric VickstrΓΆm <eric.vickstrom98@gmail.com>

* Rename file

* Add pull request submission link

Co-authored-by: Eric VickstrΓΆm <eric.vickstrom98@gmail.com>

* Submission of executable tutorial Kubeless (KTH#1271)

* Feedback submission for essay: The inner workings of Git [KTH#1303] (KTH#1311)

* add readme and folder

* Rename readme.md to README.md

* Update README.md

* Rename contributions/course-automation/LeeBadal-johennin/README.md to contributions/course-automation/badal-johennin/README.md

* Add files via upload

* Create README.md

* Delete contributions/course-automation/badal-johennin directory

* Add the feedback and PRs to the README

Co-authored-by: LeeBadal <43146567+LeeBadal@users.noreply.github.com>

* [Submission] Executable tutorial  (KTH#1326)

* Feedback request

* Course automation proposal

* Update README.md

* Executable tutorial proposal

* Update README.md

* Delete contributions/course-automation/agnespet-ebauer directory

* Proposal

* Updated proposal

* Update README.md

* Delete contributions/executable-tutorial/agnespet-ebauer directory

* Delete contributions/feedback/agnespet directory

* Addressed the requested changes

* Update README.md

* Final submission

* Final submission

Co-authored-by: Khashayar Etemadi <khaes@kth.se>

* feat: Removes word count filename and branch-name constraints (KTH#1328)

* branch-name constraint removed

* whitespace check removed

* whitespace check for pdf file added

* pdf format check fixed

* remove whitespace check

* unneccessary whitespace removed

* unnecessary commented lines removed

* feat: Word count check added for modified files (KTH#1329)

* branch-name constraint removed

* essay added

* pdf filename changed

* GHA bash updated

* file name contains whitespace

* nothing file moved

* file name with whitespace

* file name fixed

* whitespace added

* whitespace in essay file name removed

* whitespace added back

* file name changed

* file name fixed again

* same feature added for modified files

* file updated

* bug fix

* remove test files

* remove unnecessary constraints in readme

* Essay submission: Types of deployments (KTH#1239)

* Update Forms_of_deployment.pdf

* Update Forms_of_deployment.pdf

Changes made to accommodate the requests from feedback

* Reduced text to fit the word limit

* Change the word-count interval to 1900-2100

* Feedback proposal: on KTH#1230 (KTH#1256)

* Feedback proposal of KTH#1230

* Update README.md

* Feedback proposal of KTH#1230

* Moving from Integrity to Abstruse  (KTH#1334)

* feat: Added description of project

* feat: Included link to repository

* feat: Fixed bullet point list

* feat: Added code

* feat: Added issue template

* enhancement: Better instructions

* enahancement: Nestled list

* enhancement: Small fixes

* feat: New description

* enhancement: Improved grading criteria section

* feat: Completed code

* fix: Fixed repository path

* enhancement: Clarified description

* fix: Fixed course repository path

* feat:(Added exec-tutorial proposal and removed course-automation from previous main branch)

* Changed Opensource CI tool to Abstruse

* feat: Added description of project

* feat: Included link to repository

* feat: Fixed bullet point list

* feat: Added code

* feat: Added issue template

* enhancement: Better instructions

* enahancement: Nestled list

* enhancement: Small fixes

* feat: New description

* enhancement: Improved grading criteria section

* feat: Completed code

* fix: Fixed repository path

* enhancement: Clarified description

* fix: Fixed course repository path

* feat:(Added exec-tutorial proposal and removed course-automation from previous main branch)

* Changed Opensource CI tool to Abstruse

Co-authored-by: Dina Lerjevik <lerjevik@kth.se>
Co-authored-by: dmariel <34478937+dmariel@users.noreply.github.com>

* Executable tutorial proposal: Docker container running an FTP server (KTH#1343)

Co-authored-by: Kalle <Wizkas0@users.noreply.github.com>

Co-authored-by: Kalle <Wizkas0@users.noreply.github.com>

* Remove Periods in Word Count (KTH#1364)

* Enhance command for counting word with removal of periods before counting
* LaTeX files often use period signs to seperate names of sections/subsections from their page number in the content table. To avoid these periods being counted as words, periods should be removed before counting the word number.

* added submission (KTH#1106)

* Executable tutorial proposal: Continuous integration in a python project with Pytest and Travis-CI. (KTH#1337)

* Course automation proposal: check criterion for groups with 3 students

* README added

* Course automation files deleted

* Edit folder name

Co-authored-by: elin <eryman@kth.se>

Co-authored-by: EleonoraBorzis <47255376+EleonoraBorzis@users.noreply.github.com>
Co-authored-by: Matej Sestak <70316007+sestys@users.noreply.github.com>
Co-authored-by: andnil5 <an.nilsson92@gmail.com>
Co-authored-by: andnil5 <andnil5@kth.se>
Co-authored-by: johanmallobakken <42738638+johanmallobakken@users.noreply.github.com>
Co-authored-by: anorangesky <35503355+anorangesky@users.noreply.github.com>
Co-authored-by: IC-kth <78137736+IC-kth@users.noreply.github.com>
Co-authored-by: Carl Leijonberg <carllei@kth.se>
Co-authored-by: Chen, Zidi <51125655+Chen-Zidi@users.noreply.github.com>
Co-authored-by: CΓ©sar Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: Rezaul <rezaulhasan0168@gmail.com>
Co-authored-by: Hallon <62335201+hallon-heyman@users.noreply.github.com>
Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com>
Co-authored-by: johennin <52281498+johennin@users.noreply.github.com>
Co-authored-by: LeeBadal <43146567+LeeBadal@users.noreply.github.com>
Co-authored-by: Carina WickstrΓΆm <49478094+carinawic@users.noreply.github.com>
Co-authored-by: George Bassilious <35694658+George-Bassilious@users.noreply.github.com>
Co-authored-by: Markus WesslΓ©n <markus.wesslen@gmail.com>
Co-authored-by: christian-stj <christian@stjernberg.com>
Co-authored-by: KallePettersson <49831917+KallePettersson@users.noreply.github.com>
Co-authored-by: Kalle Pettersson <kalpet@kth.se>
Co-authored-by: Ralf <bubriks@gmail.com>
Co-authored-by: Eric VickstrΓΆm <vickstrom@users.noreply.github.com>
Co-authored-by: Oscar Almqvist <almqvist.oscar@gmail.com>
Co-authored-by: annsudo <55130711+annsudo@users.noreply.github.com>
Co-authored-by: sfkwww <sebbe.williams@gmail.com>
Co-authored-by: Natan <natanteferi@gmail.com>
Co-authored-by: dmariel <34478937+dmariel@users.noreply.github.com>
Co-authored-by: Dina Lerjevik <lerjevik@kth.se>
Co-authored-by: IfyUrama <34371981+IfyUrama@users.noreply.github.com>
Co-authored-by: IfyUrama <ifeomaurama0@gmail.com>
Co-authored-by: Eva Despinoy <38752330+evkade@users.noreply.github.com>
Co-authored-by: Eva Despinoy <despinoy@kth.se>
Co-authored-by: Fredrik BjΓΆrkman <pfl.bjorkman@gmail.com>
Co-authored-by: Christopher Gustafson <chrigu@kth.se>
Co-authored-by: Khashayar Etemadi <54890183+khaes-kth@users.noreply.github.com>
Co-authored-by: cpiehl1 <35833651+cpiehl1@users.noreply.github.com>
Co-authored-by: Sophie H Ye <he_ye_90s@hotmail.com>
Co-authored-by: Renugaa <80925947+Renugaa@users.noreply.github.com>
Co-authored-by: Ackuq@ <axel@pettersson.cc>
Co-authored-by: Dashboard bot <dashboard-bot-dd2482@users.noreply.github.com>
Co-authored-by: vladomitrovic <vlado.mitrovic@outlook.com>
Co-authored-by: gangwalmegha <57762978+gangwalmegha@users.noreply.github.com>
Co-authored-by: Megha Ved <meghaved@Meghas-MBP.lan>
Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>
Co-authored-by: Simon Persson <siper@kth.se>
Co-authored-by: Lazar Cerovic <lazarc@kth.se>
Co-authored-by: jhammarstedt <52280124+jhammarstedt@users.noreply.github.com>
Co-authored-by: Theodor Andrei Moise <38431187+iriediese@users.noreply.github.com>
Co-authored-by: rymane <60221527+rymane@users.noreply.github.com>
Co-authored-by: elin <eryman@kth.se>
Co-authored-by: Isak Hassbring <isakha@kth.se>
Co-authored-by: Oskar StrΓΆmberg <oskstr@kth.se>
Co-authored-by: Benoit Baudry <baudry@kth.se>
Co-authored-by: agnesforsberg <66953501+agnesforsberg@users.noreply.github.com>
Co-authored-by: Agnes <agnesfo@kth.se>
Co-authored-by: Gustaf Lidfeldt <34308157+glidfeldt@users.noreply.github.com>
Co-authored-by: Gustaf Lidfeldt <glidfeldt@kth.se>
Co-authored-by: FelixFonteneau <34739390+FelixFonteneau@users.noreply.github.com>
Co-authored-by: Amao Three <ihidemyname@outlook.com>
Co-authored-by: Renstrom <48918700+Renstrom@users.noreply.github.com>
Co-authored-by: Frida Wallberg <60963219+fwallb@users.noreply.github.com>
Co-authored-by: William SkagerstrΓΆm <william.skagerstrom@gmail.com>
Co-authored-by: Gabriel Chang <gc.chang95@gmail.com>
Co-authored-by: Charlotte Andersson <52800034+charlottea98@users.noreply.github.com>
Co-authored-by: yuxinmmmm <74023926+yuxinmmmm@users.noreply.github.com>
Co-authored-by: Simon Persson <simon@akep.se>
Co-authored-by: Internet-Person-IP <57772173+Internet-Person-IP@users.noreply.github.com>
Co-authored-by: taqui <taqui@kth.se>
Co-authored-by: Augustjon <46889105+Augustjon@users.noreply.github.com>
Co-authored-by: arxra <judoaron@hotmail.com>
Co-authored-by: Yannik Sander <accounts@ysndr.de>
Co-authored-by: Adam Henriksson <adam.ingemar.henriksson@gmail.com>
Co-authored-by: Kalle <78203973+Wizkas0@users.noreply.github.com>
Co-authored-by: Yannik Sander <me@ysndr.de>
Co-authored-by: AndrΓ© BrogΓ€rd <brogard@kth.se>
Co-authored-by: kittytinythai <kittyt@kth.se>
Co-authored-by: thestar19 <1640222+thestar19@users.noreply.github.com>
Co-authored-by: Xbast <34154689+Sebberh@users.noreply.github.com>
Co-authored-by: majate <maja.tennander@yahoo.se>
Co-authored-by: Christian Stjernberg <cjgst@kth.se>
Co-authored-by: damnePers <48753919+damnePers@users.noreply.github.com>
Co-authored-by: Axel Elmarsson <33149910+elmaxe@users.noreply.github.com>
Co-authored-by: hengque <43048353+hengque@users.noreply.github.com>
Co-authored-by: heeenkie <35926672+heeenkie@users.noreply.github.com>
Co-authored-by: Hilaire-Bouaddi <Hilaire.bouaddi@gmail.com>
Co-authored-by: Martijn Atema <martijn@atema.one>
Co-authored-by: majate <34208794+majate@users.noreply.github.com>
Co-authored-by: Spycsh <39623753+Spycsh@users.noreply.github.com>
Co-authored-by: Khashayar Etemadi <khaes@kth.se>
Co-authored-by: taqui <taqui@pop-os.localdomain>
Co-authored-by: MΓ₯ns Andersson <41705928+mansand1@users.noreply.github.com>
Co-authored-by: Eric VickstrΓΆm <eric.vickstrom98@gmail.com>
Co-authored-by: Grunler <43205024+Grunler@users.noreply.github.com>
Co-authored-by: Johan <johennin@kth.se>
Co-authored-by: Amar Hodzic <36760221+amarhod@users.noreply.github.com>
Co-authored-by: andreaskth <37302970+andreaskth@users.noreply.github.com>
Co-authored-by: hallon-heyman <hallon.heyman@gmail.com>
Co-authored-by: Kalle <Wizkas0@users.noreply.github.com>
Co-authored-by: Felix Seifert <mail@felix-seifert.com>
@IC-kth
Copy link

IC-kth commented Apr 29, 2021

Feedback content

Overall opinion

First of all, congratulations on the work you have put into this tutorial! The topic you chose is of great interest not only to DevOps but in general to the industry since microservices are slowly becoming the norm in software development.

Overall, the tutorial is well-structured and has a logical flow that guides the user through the process of converting/migrating a monolithic application to a microservices-based one. The content is suitable for an intermediate user with limited knowledge about microservices and can be comfortably understood and executed within a time frame of about 15-25 minutes, even less when the user has some previous knowledge about the topic.

In general, executing the provided commands went well, except in later steps, an aspect that I am going to address in detail in step 4 and step 5.

Bellow, I highlight the main strengths and potential improvements that I identified for this tutorial. For detailed feedback on each step see the Detailed feedback step by step section.

Main strengths

  • The tutorial uses some Katacoda features that make it easy for the user to execute commands and navigate between files. These include:
    • the editor for viewing and editing the project files, which is an easier alternative to linux text editors like vi and vim;
    • tabs which act as quick links for viewing the results of the requests sent to each microservice;
    • the use of the execution feature provided by Katacoda is a great alternative for writing commands in the terminal (especially long ones).
  • The possibility of choosing whether to use the predefined files or code along by adding code to the provided template files ensures a learning experience adapted to different learner types.
  • The Tips and Observation sections inserted throughout the tutorial are a good way of pointing out important aspects.
  • The existence of a GitHub repository with the project discussed in the tutorial gives the possibility to further explore the topic, starting from a simple project/example.
  • By providing a pros and cons of the microservice architecture section as well as a take away section, the user can achieve a better understanding of the topic beyond just commands and code.

Main potential improvements

  • For further learning and clarifications regarding different concepts and tools presented/used in the tutorial, links to external sources might come as useful (see the Links section for each step, when applicable).
  • Some hardcoded links point to changing URIs (see step 4). These make it impossible to access the underlying services.
  • Some code samples (see step 4) that need to be added in files are syntactically incorrect as of Java syntax rules, and generate build errors.
  • There are multiple spelling and grammar mistakes throughout the tutorial which should be fixed (see Grammar).
  • To make it even easier to copy and paste code from the provided snippet to the associated file in the code editor you can use the clipboard integration provided by Katacoda. This will copy the code to the user's Clipboard and then the code can be pasted into the file as usual (eg. CTRL + V). This is useful when you have longer code snippets, so you can avoid having to select everything using the mouse.
  • Since you are using the execute feature provided by Katacoda, which runs the provided command in the terminal, it is worth mentioning the problem that comes with using it. You are running services, that must be stopped using the CTRL + C command, before running the next command. However, when using the execute command you can have the case when the service is still running, and the user pressed execute for another command. This results in the command being displayed in the terminal with no action, or in some cases it produces some errors. To avoid this I would suggest using the interrupt command provided by Katacoda, together with the execute command. This will perform a CTRL + C operation to stop any running command, before executing the current one.

Detailed feedback step by step

In this section of the feedback I address in detail potential improvements that can be made in each step of the tutorial.
In general each step will contain the following parts:

  • Strength - what is good about this step
  • Improvement - improvements that can be made to code snippets or text parts
  • Links - links to additional material that can be useful for applying the suggested improvement (when applicable)

Note:

Since the source code with the corresponding steps for the Katacoda tutorial is not provided I cannot directly link each improvement suggestion to the corresponding .md file. However, I will try to make it as clear as possible what and where is the potential improvement.

Introduction

  • Strength
    • The learning outcomes and the structure of the tutorial are clearly outlined from the very start, which is good for getting an idea of what and how you will learn.
  • Improvement
    • Only for consistency reasons, I would suggest using either monolith or monolithic throughout the tutorial, but not both.

Step 1

  • Strength
    • Information regarding the Katacoda environment and the project structure is clearly stated. This is helpful for getting used to the Katacoda environment and the project.
    • I think that for the learning process is very good that you include a try-it-yourself exercise at the end of this step.
  • Improvement
    • You indicate that the Monolith tab should only be opened after the "Completed initialization" has been displayed in the terminal. However, this is never displayed or displayed after opening the Monolith tab(behaviour reproduced in 2 browsers namely Google Chrome and Firefox). Therefore, to avoid this misleading situation I suggest that you point to the moment when Started MonolithicApplication in X seconds (JVM running for Y) occurs, since it marks the moment when your application is up and running and can receive requests.
    • Even if you capture the essence of what a monolithic application is, I would suggest adding some links for more in-depth information on the topic. Also, it is often considered a good practice to link the documentation of the hosting platform (in your case Katacoda). This might be useful as additional help on how to interact with the platform.
  • Links

Step 2

  • Strength
    • A clear flow of the steps that need to be executed as well as shortcuts to the files that need to be changed are provided. It is very useful that you provide the editor to ease the navigation and file changing process, which would be more difficult when performed in the terminal.
  • Improvement
    • The mapping you made in the code for retrieving a Podcast object with a given id is podcasts/{podcastId}. However, before the code snippet, the explanatory text that precedes it refers to the mapping as podcast/{podcastId}. This is not a major issue in itself, but can be confusing seeing two different mappings.
    • Even if the short description of what a microservice-based application is might be enough for the purpose of this tutorial, I would suggest adding some links for more in-depth information on the topic. I think this is also important to better understand the pros and cons of microservices section of the tutorial (step 5).
  • Links

Step 3

  • Strength

    • I think it is very good that you provide the Rating and UserRating classes, so that the focus stays on the microservice and the logic behind it.
  • Improvement

    • For easing the access to the specified classes in the models package, I would suggest using the open command, as you did for accessing other files.
    • Since you provide a template file that needs to be filled with the specified code I think it is better to either provide just the code that needs to be added or have the template include just the imports to avoid confusion. For example, in the RatingDataResources template you include the class declaration, without the preceding annotations. Therefore, when performing copy-paste you might copy just the code inside the class, and miss adding the annotations, which will create issues.
      public class RatingDataResources{}

    vs.

      @RestController
      @RequestMapping("/ratingdata")
      public class RatingDataResources{}

Step 4

  • Strength

    • It is good that you explain the reason why the URIs used in the code are strangely-formatted and that you provide their equivalent in local execution.
    • It is very useful that you mention the need for the other two services to be up and running for this service to function properly.
  • Improvement

    broken snippet

       return.ratings.stream().map(rating->{
            Podcast podcast= restTemplate.getForObject("https://2886795346-8082-host08nc.environments.katacoda.com/podcasts/"+rating.getPodcastID, Podcast.class);
             return new Podcast(podcast.getName, "devOps",rating.getRating())
         }).collect(Collector.toList());

    vs.

    code from repository

      return ratings.getUserRating().stream().map(rating -> {
                  Podcast podcast = restTemplate.getForObject("http://localhost:8082/podcasts/" + rating.getPodcastId(), Podcast.class);
                  return new CatalogItem(podcast.getName(), "Security", rating.getRating());
              }).collect(Collectors.toList());
    • In the code snippet that yo provide for retrieving the list of UserRatings you are using a non-existent mapping (see bellow). The actual mapping that is provided in the code is /users/Katacoda, and it doesn't include any variable-based mapping (/{userId} or other). The same issue can be found in the code from the repository, which in theory, makes this step of the tutorial non-executable online and locally. I would therefore, suggest fixing this issue both in the tutorial and the repository. In addition, since the variable mapping /{userId} becomes unused I would suggest removing that from the getCatalog() request mapping.
       UserRating ratings = restTemplate.getForObject("https://2886795346-8083-host08nc.environments.katacoda.com/ratingdata/users/"+userId, UserRating.class);
    • The mapping that you provide for retrieving the list of CatalogItem objects (from the podcast-catalog-service microservice) is different than the one you provide in the tutorial as a link in the podcast-catalog-service tab. I would suggest changing it so it matches the mapping provided in the code. You can see the difference bellow:
         /catalog/{userId}
         vs.
         https://2886795346-8081-host08nc.environments.katacoda.com/catalog/Katacoda
      

Step 5

  • Strength
    • For a better understanding of the topic, beyond just lines of code, I think that this pros and cons of microservices section is very useful.
  • Improvement
    • The second sentence of the Effort while deploying needs to be rewritten. I believe you meant that some code will be duplicated across microservices.
    • Since in this step you just briefly present some benefits and drawbacks of a microservice-based architecture, I suggest that you include some sources for more in-depth and detailed information.
  • Links

Step 6

  • Strength

    • It is useful that this step begins with a short yet clear explanation of what a Discovery Server is and how this tutorial uses Eureka.
  • Improvement

    • The path you provide for editing the DiscoveryServerApplication.java file is incorrect. This should be replaced with the following path:

    monolithic-to-microservices/start-microservices/discovery-server/src/main/java/com/devops/discoveryserver/DiscoveryServerApplication.java

    • I suggest rephrasing the following statement about adding the @EnableEurekaServer annotation:

    The only think we need to be is to add @EnableEurekaServer above the public class.

    • Since there is a big chance people doing this tutorial might have limited or no knowledge about a Discovery Server and Eureka in particular, I think it would be useful to include some links to additional information.
  • Links

Step 7

  • Strength

    • Straightforward and clear instructions on how to register the Eureka clients and test everything.
  • Improvement

    • I think it is worth mentioning that the service.application.name defined in .properties file will replace the IP:port combination, to avoid using static URIs.
    • The ratings-data-service URI http://ratings-data-service/ratingdata/users/ needs to be changed since it contains an invalid mapping. In RatingDataResources class the associated mapping is:
       @RestController
       @RequestMapping("/ratingdata")
       public class RatingDataResources{
       
          @RequestMapping("/users/Katacoda")
          public UserRating getUserRating()

Step 8

Grammar

This section includes grammar and spelling mistakes that I found in the tutorial. To avoid adding a lot of extra text, this section will include just the misspelled word or grammatically incorrect group of words and the correct equivalent. I mainly added the most evident ones. These can be easily fixed using the find-and-replace mechanism found in most text editors. However, I would recommend a grammar-checking tool (such as Grammarly) to help you avoid grammar and spelling mistakes.

Generally speaking, microservice is spelled as a single word. However, throughout the tutorial you use micro service, micro-service and microservice. I would therefore, suggest changing all occurrences to microservice.

Step number Wrong Right
Step 1 ❌ βœ”οΈ
Kadacoda Katacoda
contain contains
name a name
availible available
webb brouser web browser
descripton description
Lets Let's
Step 2 ❌ βœ”οΈ
servise service
micro sevice microservice
Step 3 ❌ βœ”οΈ
fine file
same steps the same steps
for second for the second
It's consider It's considered
API an API
micro sevice microservice
Step 4 ❌ βœ”οΈ
must a servise must be a service
togehter together
call in call it
catalog-servise catalog-service
Step 5 ❌ βœ”οΈ
dublicated duplicated
componet component
micro serveses microservices
leads lead
independency independence
effect affect
Step 6 ❌ βœ”οΈ
theirs their
think thing
Step 7 ❌ βœ”οΈ
act as a act as
Step 8 ❌ βœ”οΈ
Independency Independence
effect affect

Conclusion

Going beyond the existing grammar and spelling issues, and some rather minor mapping mistakes, this tutorial is well-structured and captures the essential aspects of the associated topic, while following the established intended outcomes.

@IC-kth
Copy link

IC-kth commented Apr 29, 2021

@annsudo :) Let me know if you have any questions. Email: cotutiu@kth.se.

@annsudo
Copy link
Author

annsudo commented May 10, 2021

@IC-kth thank you for precise and detailed feedback. I have made changes after all the suggestions. Nice to have one more pair of eyes checking :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal A task proposal tutorial One of the task categories listed in README.md
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants