Software Architecture For Frontend Developers

Code: architecture-fe
Category: JS and Front-end
Format: 33% workshop, 33% praca w grupie, 33% ćwiczenia
Duration: 3-4 days
Target audience: developers
architects
team_lead
Enrollment: Groups, companies
Venue: Client's office.

The training is intended for experienced front-end developers who want and/or need to "go beyond" their framework and programming language and explore models, styles, patterns and principles of software architecture.

The topics discussed are either strictly front-end related, or universal, or knowledge of which will significantly improve communication between front-end developers and back-end developers and architects.

The training program is a general framework - we precede specific training with a pre-training analysis.

It's all about the content.

  • Architectural thinking (high-level) instead of code and framework thinking (low-level)
  • Emphasis on understanding the essence of architectural patterns and styles
  • Searching for the pros and cons of each solution, understanding trade-offs
  • Matching the class of solution to the class of problem
  • Emphasis on understanding the business context and its impact on the architecture

Training Program

The content of our program can be customised during pre-training analysis.

  1. Architecture Introduction
    1. Architectural drivers
    2. Goals of Architecture
    3. Architect as a role
  2. Documenting Software Architecture
    1. ADR (Architecture Decision Records)
    2. RFC (Request For Comments)
    3. C4 Model
    4. Event Storming / Context Mapping
  3. Architecture Styles and Patterns
    1. Modular Monolith / Modulith
      1. Non Modular Monolith
    2. Microservices
      1. Microservices-related patterns
      2. Distributed Monolith
      3. MicroFrontends
    3. Micro Kernel
    4. Hexagonal
    5. CRUD
    6. CQRS
    7. Event Sourcing
  4. Modularization
    1. Types of Coupling
    2. Cohesion
    3. Encapsulation
    4. Anti-Corruption Layer
    5. Canonical Data Model
    6. God Classes
    7. Anemic Domain Model
    8. Dependency Inversion
    9. Law of Demeter
    10. Inversion of Control
    11. Hollywood Principle
  5. Capabilities
    1. Reusability
    2. Scalability
    3. Resilience
    4. Availability
    5. Fault Tolerance
    6. Testability
    7. Performance
    8. Consistency
  6. Integration (optional module)
    1. Command, Event, Query
    2. REST
    3. CQRS vs API Composition
    4. Messaging
    5. Contracts
      1. Consumer-Driven Contracts
      2. Contract Testing
  7. Transactions (optional module)
    1. ACID
    2. Saga Pattern
    3. Orchestration vs Choreography
    4. Delivery Semantics
      1. At-most-once delivery
      2. At-least-once delivery
      3. Exactly-once delivery
  8. Strategic DDD (Quick Glance)
    1. Subdomains
    2. Bounded contexts
    3. Context mapping
    4. Ubiquitous language
    5. Heuristics
  9. DevOps
    1. CI: git flow vs trunk-based
    2. Infrastructure
      1. Provisioning
    3. Observability, Monitoring, Logging
    4. (Distributed) Tracing
    5. DORA Metrics
  10. Micro-Frontends Architecture
    1. Micro-Frontend Architecture Overview
    2. Benefits, Costs, Constraints
    3. Various Implementations
      1. The Strangler Pattern
      2. IFrames
      3. Webpack Module Federation
      4. Ng-elements / WebComponents
      5. Frameworks, Single-SPA
  11. Frontend Application Patterns
    1. Monitoring
    2. Realtime Operations
    3. Optimistic Updates
    4. Caching
    5. Queries
    6. Lazy Loading
    7. Hot-Module Replacement
    8. Time-travelling


Download PDF

Trainers

Meet the experts who will conduct your training.

Contact us for a free consultation.

Firstname and lastname:
Company:
E-mail:
Phone:
Subject:
Message:

If you prefer direct contact then you can always call.

Iwona Sobótka

Training coordinator


I agree to the processing of my personal data in accordance with the Law on the Protection of Personal Data in connection with sending a request via the contact form.

Providing the data is voluntary but necessary to process the query. I have been informed that I have the right to access my data, the possibility of correcting them, demanding stopping their processing.

The administrator of personal data is Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin, Poland.


The information clausule