Microservices Architecture (Module)
(Add links to activities 5-7) |
(Add links to activities 8-14) |
||
Line 79: | Line 79: | ||
| In-class activity | | In-class activity | ||
|- | |- | ||
− | | | + | | Exploring REST API Implementation |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/08-Exploring%20REST%20Implementation 08-Exploring REST Implementation] |
− | | Understanding of | + | | Understanding of the backend implementation code written in NodeJS/Express |
| | | | ||
| In-class activity | | In-class activity | ||
|- | |- | ||
− | | | + | | Exploring the Persistence Layer using a Document Database |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/09-Exploring%20Persistence 09-Exploring Persistence] |
− | + | ||
| | | | ||
− | | | + | | |
+ | | Stub only | ||
|- | |- | ||
− | | | + | | Exploring the Implementation of Persistence using a Document Database |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/10-Exploring%20Persistence%20Implementation 10-Exploring Persistence Implementation] |
− | | | + | | |
| | | | ||
− | | | + | | Stub only |
|- | |- | ||
− | | | + | | Implementing New REST API Calls |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/11-Implementing%20REST 11-Implementing REST] |
− | | | + | | Add the implementation of new REST API calls |
| | | | ||
− | | In-class | + | | In-class or homework. These problems need to be updated for the new example. |
|- | |- | ||
− | | | + | | Exploring the Implementation of a Simple REST API Front End |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/12-Simple%20Front%20End 12-Simple Front End] |
− | | Understanding of | + | | Understanding the implementation of a simple frontend using Angular |
| | | | ||
− | | In-class activity | + | | In-class activity. This activity needs to be rewritten to use VueJS. |
|- | |- | ||
− | | | + | | Designing Components for a Front End |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/13-Exploring%20Front%20End 13-Exploring Front End] |
− | + | ||
| | | | ||
− | | | + | | |
+ | | Stub only | ||
|- | |- | ||
− | | | + | | Implementing New Functionality for a Front End |
− | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/ | + | | [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-activities/-/tree/master/14-Implementing%20Front%20End 14-Implementing Front End] |
− | + | ||
| | | | ||
− | | | + | | |
+ | | Stub only | ||
|-} | |-} | ||
=== Comments === | === Comments === | ||
+ | * These activities use the [https://gitlab.com/LibreFoodPantry/training/microservices/microservices-example Microservices Example] code. | ||
* What should the instructor know before using this module? | * What should the instructor know before using this module? | ||
* What are some likely difficulties that an instructor may encounter using this module? | * What are some likely difficulties that an instructor may encounter using this module? |
Latest revision as of 18:00, 2 April 2021
THIS MODULE IS CURRENTLY UNDER CONSTRUCTION
Overview
Title |
Microservices Architecture (Module). |
---|---|
Overview |
A series of activities and accompanying example code to teach students about the microservices architecture and how to implement simple one in Javascript |
Prerequisites |
Command line, version control with Git, intermediate coding |
Learning Objectives |
After successfully completing this activity, the learner should be able to:
Modify existing system to add new endpoint specs in OpenAPI, implement endpoints in NodeJS/Express, simple MongoDB operations, implement frontend modifications in Angular |
Process Skills Practiced |
What process skills will the student practice while completing this module? |
LibreFoodPantry Microservices Example and Activities
Background
- Is there background reading/video/website content?
- What is the expected knowledge level of the student?
- What is the rationale for this module?
- Include helpful hints to faculty here.
Sequence/Sub-Path
Include the sequence of activities.
Topic | Activity | Deliverable | Length | Notes |
---|---|---|---|---|
Introduction to the Domain: HFOSS, LibreFoodPantry, and Bear Necessitities Market OrderModule | 01-Domain Introduction | Stub only | ||
Installing Docker | 02-Installing Docker | Docker installed and running on the student's machine | Could be homework or in-class activity | |
Containerization with Docker | 03-Containerization Docker | Understanding of advantages of containerization over virtual machines | In-class activity | |
Software Architectures from Monolith to Microservices | 04-Microservices Architecture | Understanding of differences between monolith and microservices | In-class activity | |
Introduction to REST API Calls | 05-IntroductionRest | Understanding how REST API calls are used to communicate with a backend | In-class activity | |
Exploring REST API Calls | 06-ExploringREST | Using tools to make REST API calls to a backend | In-class activity | |
Designing REST API Calls | 07-Designing REST | Understanding the OpenAPI Specification for a backend | In-class activity | |
Exploring REST API Implementation | 08-Exploring REST Implementation | Understanding of the backend implementation code written in NodeJS/Express | In-class activity | |
Exploring the Persistence Layer using a Document Database | 09-Exploring Persistence | Stub only | ||
Exploring the Implementation of Persistence using a Document Database | 10-Exploring Persistence Implementation | Stub only | ||
Implementing New REST API Calls | 11-Implementing REST | Add the implementation of new REST API calls | In-class or homework. These problems need to be updated for the new example. | |
Exploring the Implementation of a Simple REST API Front End | 12-Simple Front End | Understanding the implementation of a simple frontend using Angular | In-class activity. This activity needs to be rewritten to use VueJS. | |
Designing Components for a Front End | 13-Exploring Front End | Stub only | ||
Implementing New Functionality for a Front End | 14-Implementing Front End | Stub only |
ACM BoK Area & Unit(s) |
What ACM Computing Curricula 2013 knowledge area and units are covered? |
---|---|
ACM BoK Topic(s) |
What specific topics are addressed? |
Difficulty |
Is this module easy, medium, or hard? |
Estimated Time to Complete |
How long should a typical student take to complete the module? |
Environment / Materials |
What does the student need? (e.g. Internet access, IRC client, Git Hub account, LINUX machine, etc.) |
Author(s) |
Karl R. Wurst and Stoney Jackson |
Source |
Is there another module on which this module is based? If so, please provide a link to the original resource. |
License |
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License |
For this blank format: This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License