What this module is about
Learning to think like a software architect
Modern web applications are no longer a single block of code. They are made of services that communicate over the network, scale independently and are deployed in containers. This module follows that evolution step by step, so that every architectural choice is understood, justified and put into practice.
Understand
Why architectures moved from the monolith to distributed systems, and what this shift really changes.
Design
Break a domain into services, define API contracts and choose the right communication and infrastructure mechanisms.
Operate
Document, test, observe, secure and deploy a distributed application in a reproducible way.
The architectural path
One system, evolving chapter after chapter
Topics covered along the way:
How courses and workshops fit together
Each concept is immediately used in a concrete situation
Courses: the why
- Concepts, principles and architectural patterns
- Trade-offs: benefits, limits and challenges
- Reasoning behind each design decision
Workshops: the how
- Hands-on implementation of each mechanism
- Applied to the same running system
- Code, tests and documentation delivered on Git
Prosits: the problem first
- A realistic scenario opens each topic
- Students frame the problem and hypotheses
- Solutions are built, then compared and discussed
Learning outcomes
By the end of the module, students will be able to…
Running example: JobBoard
A recruitment platform that grows with the course
JobBoard brings together candidates, companies, job offers, applications, interviews and notifications. It starts as a monolith. As the course moves forward, it is exposed through REST contracts, decomposed into business services, given the distributed mechanisms it needs, and finally deployed in containers.
Using one system from start to finish keeps the focus on the architecture: each new concept answers a problem the previous version could not solve.
Business services
What you will find here
The module is under construction: resources are added as the semester moves forward
Slides
Lecture slides for each chapter.
Book
A companion book with definitions, examples, exercises and solutions.
Prosits
Problem scenarios that open each topic.
Workshops
Step-by-step hands-on guides and source code.
Final project
Guidelines and milestones for the team project.
Further reading
Selected books, articles and videos.
About the author
Module design and teaching
