Hexagonal Software Architecture for Web Applications Course Syllabus

Full curriculum breakdown — modules, lessons, estimated time, and outcomes.

Overview: This course provides a hands-on introduction to Hexagonal Architecture (Ports and Adapters) for building maintainable, testable web applications. Over 8 modules, each taking approximately 1 week (6-8 hours), you'll learn to isolate domain logic, implement adapters, and test effectively. The course uses real-world examples and a consistent code-driven approach to demonstrate how to evolve and deploy decoupled systems.

Module 1: Introduction to Hexagonal Architecture

Estimated time: 7 hours

  • Evolution of software architecture
  • Limitations of traditional layered designs
  • Hexagon model overview
  • Sketching the hexagon diagram for a To-Do application

Module 2: Defining the Domain & Ports

Estimated time: 7 hours

  • Core domain modeling
  • Boundary interfaces (ports)
  • Use-case definitions
  • Writing domain entities and port interfaces for task creation and querying

Module 3: Building Inbound Adapters

Estimated time: 7 hours

  • HTTP controllers as inbound adapters
  • CLI interfaces as entry points
  • WebSocket entry points
  • Implementing a REST adapter with a lightweight web framework

Module 4: Developing Outbound Adapters

Estimated time: 7 hours

  • Persistence adapters using SQL and NoSQL
  • Messaging adapters (Kafka, RabbitMQ)
  • External API clients
  • Creating a database adapter using an ORM behind a repository port

Module 5: Wiring the Application & Configuration

Estimated time: 7 hours

  • Dependency injection fundamentals
  • Wiring ports to adapters
  • Environment-based configuration
  • Bootstrapping the application in a main entry-point

Module 6: Testing Strategies

Estimated time: 7 hours

  • Unit testing domain logic with mocked ports
  • Integration testing of adapters
  • End-to-end validation
  • Writing tests with fake adapters and in-memory databases

Module 7: Error Handling & Cross-Cutting Concerns

Estimated time: 7 hours

  • Exception translation across adapter boundaries
  • Logging via outbound ports
  • Metrics and monitoring patterns
  • Security adapter implementation

Module 8: Deployment & Evolution

Estimated time: 7 hours

  • Containerization of adapters with Docker
  • Versioning ports for backward compatibility
  • Gradual replacement of adapters
  • Demonstrating database adapter swap

Prerequisites

  • Familiarity with a web stack (e.g., Node.js, Python, or Java Spring)
  • Understanding of dependency injection concepts
  • Basic knowledge of databases and REST APIs

What You'll Be Able to Do After

  • Design and implement Hexagonal Architecture in real web applications
  • Isolate domain logic behind well-defined ports for testability
  • Build and swap both inbound and outbound adapters
  • Apply robust testing strategies across architectural layers
  • Evolve and containerize adapters for deployment and maintenance
View Full Course Review

Course AI Assistant Beta

Hi! I can help you find the perfect online course. Ask me something like “best Python course for beginners” or “compare data science courses”.