KBTG 2025 - up1/training-courses GitHub Wiki

Course 1 :: Software architecture and Design

  • Domain-Driven Design

    • Problem space vs Solution space
  • Strategic design

    • Boundary context
    • Sub-domains
      • Core
      • Generic
      • Support
    • Context mapping (cross domain)
      • Communication patterns
      • Sharing data
      • Data modeling
    • C4 model
      • Context, Container, Component, Code
    • Workshop
      • How to identify your domain ?
      • How to communication between service/domain ?
      • Working with event storming
      • Working with 4+1 architectural view model
  • Tactical design

    • Basics Concepts
      • Domain event
      • Aggregation
      • Entity
      • Value object
    • Design Patterns
      • Structural
      • Creational
      • Behaviral
    • Testable application patterns
      • MVC (Model-View-Controller)
      • MVVM (Model-View-ViewModel)
      • Clean architecture
      • Hexagonal architecture
    • Object Oriented Design
      • SOLID
      • CUPID
      • GRASP

Course 2 :: Component and Contract Testing

  • Problems of testing in software development process

    • Test-First vs Test-Last vs Test-Later
    • Manage testing environment
    • Manage test data
  • Testing strategy

    • Unit
    • Integration
    • Component
    • Contract
    • End-to-End
  • Test double

    • Dummy
    • Stub
    • Spy
    • Mock
    • Fake
  • Workshop

    • Understand software architecture
    • Component testing
    • Contract testing