Practical session 14:15-16:00 (Group 1) and 16:15-18:00 (Group 2) - Delta Room 1022
For now, you can also use this GitHub repo, but it will deleted later.
The lab materials and associated code will be published as we proceed in the course. The labs are organized into five parts:
Part 0 - Continuous Integration & Continuous Delivery/Deployment (CI/CD)
- Docker, Docker compose, Docker hub, and play with Docker - documentation and practical examples
- GitLab CI/CD
Part 1 - Essential technologies for ESI
1. Introduction to the course programming languages, frameworks, and technologies - (7/2/2022)
- Session 1.1: Git and GitLab
- Session 1.2: Installing Spring Boot – VSCode
2. Spring boot - REST (14/2/2022)
- Session 2.1: Spring Boot - Rest API
- Session 2.2: Postman
3. Spring boot - Building RESTful API (CRUD operations) - I (21/2/2022)
- Session 3.1: Installing and using PostgreSQL (Postgres)
- Session 3.2: Spring Boot -III– REST - CRUD - I
- Session 3.3: OpenAPI-Swagger
4. Spring boot - Building RESTful API (CRUD operations) - II (28/2/2022)
- Session 4.1: Spring Boot -IIII– REST - CRUD - II
Part 2 – Designing and implementing a microservices architecture
5. Spring Boot - Microservices – I Microservices communications (7/3/2022)
- Session 5.1: Microservices communications
6. Spring Boot - Microservices – II - Microservices discovery & load balancing (14/3/2022)
- Session 6.1: Microservices - Microservices discovery & load balancing
7. Spring Boot - Microservices – III - API Gateway & Resilient microservices patterns (21/3/2022)
- Session 7.1: Microservices - API Gateway
- Session 7.2: Microservices - Resilient microservices patterns
8. Spring Boot - Microservices integration patterns in practice (28/3/2022)
- [Pre Lab] Session 8.1: Microservices integration patterns - Event Driven Architecture - Apache Kafka -I
- Session 8.2: Microservices integration patterns - Event Driven Architecture - Apache Kafka -II
Part 3 – Designing and implementing frontend apps (Vue.js)
9. Vue.js - I - basic concepts (4/4/2022)
- [Pre Lab] Session 9.1: Installing Node.js, NPM and creating a Vue.js project
- [Pre Lab] Session 9.2: Vue.js - basic concepts
- Session 9.3: Vue.js - CRUD
Part 4 – Designing and implementing security mechanisms/techniques for ESI
10. Security Aspects of Integration - I - basic concepts (11/4/2022)
- [Pre Lab] Session 10.1: Spring Boot Security - in-memory authentication
- Session 10.2: Spring Boot Security - Authentication and Authorization through JPA
- [Extra - not part of the course] Session 10.3: Spring Boot Security - Authorization with OAuth2
11. Security Aspects of Integration - II – Building a JWT-based Auth Service for a Spring Boot App (18/4/2022)
- Session 11.1: Spring Boot Security - Auth-service (JWT)
12. Security Aspects of Integration - III – Building a "Secure" project (Spring Boot + VueJs) using JWT(25/4/2022)
- Session 12.1: "Secure" project (A Single Spring Boot App + VueJs) - Auth Service (JWT)
- Session 12.2: "Secure" project (Spring Boot + VueJs) - Auth Service (JWT) for a Microservice-based Systems
Part 5 – Project checkpoints and final presentation
13. Project checkpoint #1 (2/5/2022)
14. Project checkpoint #2 (9/5/2022)
15. Project presentations (16/5/2022)
16. No Practice Session - final exam (23/5/2022)