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