docs: fix spellcheck errors

This commit is contained in:
Stefan Rotsch
2023-02-22 16:28:50 +01:00
committed by Bastian
parent dbfba107c7
commit 77d0806181
25 changed files with 141 additions and 118 deletions

View File

@@ -2,11 +2,15 @@
title: "Ansible" title: "Ansible"
ring: trial ring: trial
quadrant: platforms-and-aoe-services quadrant: platforms-and-aoe-services
tags: [devops] tags: [devops]
--- ---
[Ansible](https://www.ansible.com/) is a tool used to describe infrastructure and applications and their configuration as code. It covers both the configuration and provisioning aspects of infrastructure and applications. [Ansible](https://www.ansible.com/) is a tool used to describe infrastructure and applications and their configuration
as code. It covers both the configuration and provisioning aspects of infrastructure and applications.
It is a radically simple IT automation system based on SSH so that it can work without agents or exposed APIs. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration. It is a radically simple IT automation system based on SSH so that it can work without agents or exposed APIs. It
handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation,
and multi-node orchestration.
It comes in handy when the client currently uses some virtual machines with docker/docker-compose, and no full-blown Kubernetes cluster is available or needed. It comes in handy when the client currently uses some virtual machines with docker/docker-compose, and no full-blown
Kubernetes cluster is available or needed.

View File

@@ -2,14 +2,14 @@
title: "Apache APISIX" title: "Apache APISIX"
ring: assess ring: assess
quadrant: tools quadrant: tools
tags: [devops] tags: [devops]
--- ---
[Apache APISIX](https://apisix.apache.org/) is an open-source, high-performance API gateway, designed for [Apache APISIX](https://apisix.apache.org/) is an open-source, high-performance API gateway, designed for
microservices, cloud-native and container-based architecture. It provides a wide range of features to manage microservices, cloud-native and container-based architecture. It provides a wide range of features to manage
and secure API services: and secure API services:
- Scalablbility: Load balancing and routing, dynamic scaling - Scalability: Load balancing and routing, dynamic scaling
- Performance: Fast and reliable, supports caching and rate limiting - Performance: Fast and reliable, supports caching and rate limiting
- Multi-Protocol Support: Supports HTTP, HTTPS, WebSockets and gRPC - Multi-Protocol Support: Supports HTTP, HTTPS, WebSockets and gRPC
- Customization: Plugins for authentication, authorization and traffic management - Customization: Plugins for authentication, authorization and traffic management

View File

@@ -2,6 +2,6 @@
title: "Apollo Client" title: "Apollo Client"
ring: trial ring: trial
quadrant: tools quadrant: tools
tags: [architecture]
featured: false featured: false
tags: [architecture]
--- ---

View File

@@ -1,7 +1,7 @@
--- ---
title: "ZeroTrust" title: "ZeroTrust"
ring: adopt ring: adopt
quadrant: methods-and-patterns quadrant: methods-and-patterns
tags: [security, architecture] tags: [security, architecture]
featured: false featured: false
--- ---

View File

@@ -2,7 +2,7 @@
title: "Client-Side Error Logging" title: "Client-Side Error Logging"
ring: adopt ring: adopt
quadrant: methods-and-patterns quadrant: methods-and-patterns
tags: [architecture, frontend] tags: [architecture, frontend]
--- ---
Updated to adopt. Updated to adopt.

View File

@@ -1,7 +1,7 @@
--- ---
title: "Concourse" title: "Concourse"
featured: false ring: trial
ring: trial quadrant: tools
quadrant: tools tags: [ci/cd]
tags: [ci/cd] featured: false
--- ---

View File

@@ -2,9 +2,10 @@
title: "C#" title: "C#"
ring: adopt ring: adopt
quadrant: "languages-and-frameworks" quadrant: "languages-and-frameworks"
featured: true
tags: [coding] tags: [coding]
--- ---
C# is a statically, strongly typed and object-oriented language. C# is a statically, strongly typed and object-oriented language.
After PHP and several JVM languages, we also have projects with C#. We value all features of this highly developed language.
After PHP and several JVM languages, we also have projects with C#. We value all features of this highly developed
language.

View File

@@ -1,7 +1,7 @@
--- ---
title: "DDEV" title: "DDEV"
ring: adopt ring: adopt
quadrant: tools quadrant: tools
featured: false tags: [coding, ci/cd]
tags: [coding, ci/cd] featured: false
--- ---

View File

@@ -1,21 +1,21 @@
--- ---
title: "Design System" title: "Design System"
ring: trial ring: trial
quadrant: "methods-and-patterns" quadrant: "methods-and-patterns"
featured: true tags: [ux/ui, frontend, coding, architecture, documentation]
tags: [ux/ui, frontend, coding, architecture, documentation]
--- ---
A Design System is a collection of reusable design components, A Design System is a collection of reusable design components, guidelines and standards that serve as the foundation for
guidelines and standards that serve as the foundation for creating a consistent user experience across a product or a whole brand. creating a consistent user experience across a product or a whole brand.
It helps to create a unified visual language, improve collaboration among design and development teams, It helps to create a unified visual language, improve collaboration among design and development teams, and streamline
and streamline the design and development process. the design and development process.
Design Systems also increase the maintainability of the design of products, making it easier for teams to make updates and add new features over time. Design Systems also increase the maintainability of the design of products, making it easier for teams to make updates
and add new features over time.
We are in the process to implement a design system in close cooperation with one of our customers. We are in the process to implement a design system in close cooperation with one of our customers.
Tools we use for this are [zeroheight](https://zeroheight.com/) as a documentation hub, Tools we use for this are [zeroheight](https://zeroheight.com/) as a documentation hub,
[Style Dictionary](https://amzn.github.io/style-dictionary) for the token generation, [Style Dictionary](https://amzn.github.io/style-dictionary) for the token generation,
[Storybook](https://storybook.js.org/) to document the components and [Figma](https://www.figma.com/) for the Designs. [Storybook](https://storybook.js.org/) to document the components and [Figma](https://www.figma.com/) for the Designs.

View File

@@ -2,5 +2,6 @@
title: "DGS Framework" title: "DGS Framework"
ring: assess ring: assess
quadrant: tools quadrant: tools
tags: [frontend, architecture]
featured: false featured: false
--- ---

View File

@@ -2,27 +2,33 @@
title: "GraphQL" title: "GraphQL"
ring: adopt ring: adopt
quadrant: methods-and-patterns quadrant: methods-and-patterns
tags: [architecture]
--- ---
[GraphQL](https://graphql.org/) is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data. [GraphQL](https://graphql.org/) is a query language for your API, and a server-side runtime for executing queries by
using a type system you define for your data.
GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data.
GraphQL was developed by Facebook around 2010 and released 2015. GraphQL was developed by Facebook around 2010 and released 2015.
The main challenge it solves is to improve communication between browser and server on high dynamic web apps. The main challenge it solves is to improve communication between browser and server on high dynamic web apps.
The advantages are: The advantages are:
* schema and schema validation together with a useful type system
* the client (browser) controls what data should be sent (data reduction)
* with one request you can fetch "all" required data
Client side integration can be achieved using the [Apollo Client Framework](/tools/apollo-client.html) which easily integrates into - schema and schema validation together with a useful type system
- the client (browser) controls what data should be sent (data reduction)
- with one request you can fetch "all" required data
Client side integration can be achieved using the [Apollo Client Framework](/tools/apollo-client.html) which easily
integrates into
[React.js](/languages-and-frameworks/react.html) based frontends. [React.js](/languages-and-frameworks/react.html) based frontends.
For [Spring Boot](https://spring.io/projects/spring-boot/) based backends [DGS](https://netflix.github.io/dgs/) provides a nice framework featuring: For [Spring Boot](https://spring.io/projects/spring-boot/) based backends [DGS](https://netflix.github.io/dgs/) provides
a nice framework featuring:
- an annotation-based programming model for Spring - an annotation-based programming model for Spring
- a test framework for writing query tests as unit tests - a test framework for writing query tests as unit tests
- a [Gradle](https://gradle.org/) code generation plugin to create types from a GraphQL schema in Java or Kotlin - a [Gradle](https://gradle.org/) code generation plugin to create types from a GraphQL schema in Java or Kotlin
The framework [Flamingo offers support for GraphQL](https://docs.flamingo.me/3.%20Flamingo%20Modules/graphql.html) and
The framework [Flamingo offers support for GraphQL](https://docs.flamingo.me/3.%20Flamingo%20Modules/graphql.html) and also Flamingo Commerce offers a full featured GraphQL API for e-commerce features. ([Example GraphQL Console for Commerce](https://demoshop.flamingo.me/en/graphql-console)) also Flamingo Commerce offers a full featured GraphQL API for e-commerce
features. ([Example GraphQL Console for Commerce](https://demoshop.flamingo.me/en/graphql-console))

View File

@@ -2,14 +2,13 @@
title: "Harbor" title: "Harbor"
ring: trial ring: trial
quadrant: platforms-and-aoe-services quadrant: platforms-and-aoe-services
tags: [devops] tags: [devops]
--- ---
[Harbor](https://goharbor.io) is a CNCF-graduated open-source container registry. We use it to host custom built container images [Harbor](https://goharbor.io) is a CNCF-graduated open-source container registry. We use it to host custom-built
from our projects. Key benefits for us are: container images from our projects. Key benefits for us are:
* Harbor automatically scans all container images with [Trivy](https://trivy.dev)
* fine grained access control allows Harbor to be used in a multi-team environment
* its extensive API allows easy adaption to custom needs, like retention policies
* support for image signing with [Cosign](https://github.com/SigStore/cosign)
- Harbor automatically scans all container images with [Trivy](https://trivy.dev)
- fine-grained access control allows Harbor to be used in a multi-team environment
- its extensive API allows easy adaption to custom needs, like retention policies
- support for image signing with [Cosign](https://github.com/SigStore/cosign)

View File

@@ -6,7 +6,7 @@ tags: [devops]
--- ---
At AOE, we have adopted [Helmfile](https://github.com/helmfile/helmfile) as a complementary tool to Helm. It is At AOE, we have adopted [Helmfile](https://github.com/helmfile/helmfile) as a complementary tool to Helm. It is
a declarative spec for deploying helm charts providing addtional functionality such as: a declarative spec for deploying helm charts providing additional functionality such as:
- Separation between environment specific and general values - Separation between environment specific and general values
- Simplified secrets management with support for external applications, e.g. Vault - Simplified secrets management with support for external applications, e.g. Vault

View File

@@ -2,8 +2,7 @@
title: "Hot Chocolate" title: "Hot Chocolate"
ring: assess ring: assess
quadrant: "languages-and-frameworks" quadrant: "languages-and-frameworks"
featured: true tags: [coding]
tags: [coding]
--- ---
[Hot Chocolate](https://chillicream.com/docs/hotchocolate/v12) is an open-source GraphQL server for .NET. [Hot Chocolate](https://chillicream.com/docs/hotchocolate/v12) is an open-source GraphQL server for .NET.

View File

@@ -2,17 +2,18 @@
title: "Java" title: "Java"
ring: adopt ring: adopt
quadrant: languages-and-frameworks quadrant: languages-and-frameworks
tags: [coding, backend] tags: [coding, backend]
--- ---
[Java](https://www.java.com) is a versatile and widely-used programming language. [Java](https://www.java.com) is a versatile and widely-used programming language.
It is scalable and platform-independent, making it the ideal choice for businesses looking to streamline their
It is scalable and platform-independent, making it the ideal choice for businesses looking to streamline their
operations and reach a wider audience. With its broad library of tools, frameworks and modules, Java provides developers operations and reach a wider audience. With its broad library of tools, frameworks and modules, Java provides developers
with the resources they need to create dynamic, feature-rich applications that can be easily integrated into existing with the resources they need to create dynamic, feature-rich applications that can be easily integrated into existing
systems. Additionally, Java has a large community of developers, ensuring that support and resources are available when systems. Additionally, Java has a large community of developers, ensuring that support and resources are available when
needed. needed.
With an extensive expertise at AOE we successfully run lots of Java projects in production. As it is very stable, has With an extensive expertise at AOE we successfully run lots of Java projects in production. As it is very stable, has
great support from the open source community and lots of other big advantages, we often we use great support from the open source community and lots of other big advantages, we often we use
[Spring Boot](https://spring.io/projects/spring-boot) combined with the strengths of java to develop web services that [Spring Boot](https://spring.io/projects/spring-boot) combined with the strengths of java to develop web services that
fits the needs of our customers. fits the needs of our customers.

View File

@@ -5,8 +5,11 @@ quadrant: platforms-and-aoe-services
tags: [devops, security] tags: [devops, security]
--- ---
For years we used LDAP Login mechanisms to authenticate our employees. For years, we used LDAP Login mechanisms to authenticate our employees.
While this worked as some kind of "single credential" model, it does not support extended Security features such as WebAuthN, Multifactor-Authentication, etc. While this worked as some kind of "single credential" model, it does not support extended Security features such as
WebAuthN, Multifactor-Authentication, etc.
These we do prefer to use integrations using OpenID Connect into SSO solutions such as [Bare.ID](/platforms-and-aoe-services/bareid.html) or [Keycloak](/tools/keycloak.html), which provide proper authentication and federation for multiple identity sources. These we do prefer to use integrations using OpenID Connect into SSO solutions such
as [Bare.ID](/platforms-and-aoe-services/bareid.html) or [Keycloak](/tools/keycloak.html), which provide proper
authentication and federation for multiple identity sources.

View File

@@ -14,6 +14,6 @@ cloud-native solutions. It offers a number of benefits, including:
- simplified management and updates to reduce cost and the risk of downtimes - simplified management and updates to reduce cost and the risk of downtimes
- enhanced customer experience by delivering personalized, high-quality services - enhanced customer experience by delivering personalized, high-quality services
As a [TM Forum member](https://www.tmforum.org/membership/current-members/), AOE has signed [both the Open API and As a [TM Forum member](https://www.tmforum.org/membership/current-members/), AOE has signed [both the Open API and
the ODA Manifesto](https://www.tmforum.org/oda-interactive-map/open-digital-architecture-open-api-manifesto/) and is the ODA Manifesto](https://www.tmforum.org/oda-interactive-map/open-digital-architecture-open-api-manifesto/) and is
strongly committed to the values and visions behind these open standards. strongly committed to the values and visions behind these open standards.

View File

@@ -1,15 +1,24 @@
--- ---
title: "Playwright" title: "Playwright"
ring: trial ring: trial
quadrant: "languages-and-frameworks" quadrant: "languages-and-frameworks"
tags: [coding, frontend, quality assurance] tags: [coding, frontend, quality assurance]
--- ---
Playwright is a cross browser/platform/language tool to write reliable end-to-end tests. It's easy to get started with and offers a broad variety of functionalities out of the box. Playwright supports Windows, MacOs and Linux and works with the most popular testing frameworks such as Jest, Mocha and Jasmine. [Playwright](https://playwright.dev) is a cross browser/platform/language tool to write reliable end-to-end tests. It's
The playwright configuration offers plenty of helpful options, for instance native mobile emulation of Chrome for Android and Safari for iOS. If needed playwright can be extended by BDD tools like Cucumber or SpecFlow to enable non-technical contributors to collaborate. easy to get started with and offers a broad variety of functionalities out of the box. Playwright supports Windows,
macOS and Linux and works with the most popular testing frameworks such as Jest, Mocha and Jasmine.
The playwright configuration offers plenty of helpful options, for instance native mobile emulation of Chrome for
Android and Safari for iOS. If needed playwright can be extended by BDD tools like Cucumber or SpecFlow to enable
non-technical contributors to collaborate.
Playwright test are resilient. It waits for elements before performing any actions which eliminates the need for timeouts - the primary cause of flaky tests. Playwright test are resilient. It waits for elements before performing any actions which eliminates the need for
timeouts - the primary cause of flaky tests.
Other than Cypress Playwright can interact with different origins and multiple tabs. Also you can create scenarios with different contexts to handle multiple users within one test. Contexts allow saving an authentication state to reuse it in other tests. By isolating tests within a seperate browser context for each test, the tests are fully independent, although reusing an authentication state. This prevents you from performing repetitive log-in operations in each test. Other than Cypress Playwright can interact with different origins and multiple tabs. Also, you can create scenarios with
different contexts to handle multiple users within one test. Contexts allow saving an authentication state to reuse it
in other tests. By isolating tests within a separate browser context for each test, the tests are fully independent,
although reusing an authentication state. This prevents you from performing repetitive log-in operations in each test.
As Playwright is developed and maintained by Microsoft there are some great extensions for Visual Studio Code to develop, run and debug tests. As Playwright is developed and maintained by Microsoft there are some great extensions for Visual Studio Code to
develop, run and debug tests.

View File

@@ -1,12 +1,12 @@
--- ---
title: "pnpm" title: "pnpm"
ring: assess ring: assess
quadrant: tools quadrant: tools
featured: true tags: [coding, frontend]
--- ---
[pnpm](https://pnpm.io/motivation) is an alternative tool to manage your frontend dependencies. Unlike yarn 1 it manages all packages in a central place and [pnpm](https://pnpm.io/motivation) is an alternative tool to manage your frontend dependencies. Unlike yarn 1 it manages
creates symbolic links only inside the npm_modules of a project. This results in considerably less usage of disk space and reduces build-times, when a package all packages in a central place and creates symbolic links only inside the npm_modules of a project. This results in
is already available. considerably less usage of disk space and reduces build-times, when a package is already available.
Additionally a cache server can be setup and used during pipeline builds to decrease network traffic and build times. Additionally, a cache server can be setup and used during pipeline builds to decrease network traffic and build times.

View File

@@ -5,20 +5,20 @@ quadrant: methods-and-patterns
tags: [devops, ci/cd] tags: [devops, ci/cd]
--- ---
With the rise of cloud infrastructure and DevOps practices, traditional methods of policy enforcement such as manual With the rise of cloud infrastructure and DevOps practices, traditional methods of policy enforcement such as manual
reviews and audits are no longer sufficient. By using code to express policies for the entire infrastructure and reviews and audits are no longer sufficient. By using code to express policies for the entire infrastructure and
application stack, automated compliance checks become a natural part of the software development lifecycle, application stack, automated compliance checks become a natural part of the software development lifecycle,
e.g. via integration into a projects' CI/CD pipeline and could even prevent a configuration change or deployment e.g. via integration into a projects' CI/CD pipeline and could even prevent a configuration change or deployment
if a critical issue was found. if a critical issue was found.
One of the key benefits of Policy as Code is the ability to catch potential issues before they become risks. For One of the key benefits of Policy as Code is the ability to catch potential issues before they become risks. For
example, a policy could be defined to ensure that all S3 buckets are encrypted, or that all EC2 instances have a example, a policy could be defined to ensure that all S3 buckets are encrypted, or that all EC2 instances have a
specific set of tags. specific set of tags.
There are a number of tools and frameworks available for implementing Policy as Code. At AOE, we are mainly relying on There are a number of tools and frameworks available for implementing Policy as Code. At AOE, we are mainly relying on
[Checkov](https://www.checkov.io/), [Kyverno](https://kyverno.io/) and [AWS Config](https://aws.amazon.com/config/) [Checkov](https://www.checkov.io/), [Kyverno](https://kyverno.io/) and [AWS Config](https://aws.amazon.com/config/)
at the time of writing. Each tool provides a way to define policies in code and then automate policy enforcement. at the time of writing. Each tool provides a way to define policies in code and then automate policy enforcement.
They also provide visibility into the compliance status of infrastructure and application configurations. They also provide visibility into the compliance status of infrastructure and application configurations.
By defining policies as code, development teams can ensure that policies are version-controlled, easily auditable, By defining policies as code, development teams can ensure that policies are version-controlled, easily auditable,
and consistent across all environments. and consistent across all environments.

View File

@@ -1,8 +1,8 @@
--- ---
title: "Remix" title: "Remix"
ring: adopt ring: adopt
quadrant: languages-and-frameworks quadrant: languages-and-frameworks
tags: [coding, frontend] tags: [coding, frontend]
--- ---
Updated to "adopt" Updated to "adopt"

View File

@@ -2,7 +2,7 @@
title: "Semanticore" title: "Semanticore"
ring: adopt ring: adopt
quadrant: tools quadrant: tools
tags: [ci/cd, documentation, quality assurance] tags: [ci/cd, documentation, quality assurance]
--- ---
Updated to adopt. Updated to adopt.

View File

@@ -1,10 +1,11 @@
--- ---
title: "SpecFlow" title: "SpecFlow"
ring: assess ring: assess
quadrant: "languages-and-frameworks" quadrant: "languages-and-frameworks"
tags: [coding, quality assurance] tags: [coding, quality assurance]
--- ---
SpecFlow is a free and open source BDD-framework for .NET [SpecFlow](https://specflow.org) is a free and open source BDD-framework for .NET
BDD frameworks in general enable teams to better collaborate on test automation by using for instance the Gherkin syntax to make tests readable to everyone. SpecFlow is the most popular BDD framework for .NET projects. BDD frameworks in general enable teams to better collaborate on test automation by using for instance the Gherkin syntax
to make tests readable to everyone. SpecFlow is the most popular BDD framework for .NET projects.

View File

@@ -1,12 +1,12 @@
--- ---
title: "Svelte" title: "Svelte"
ring: assess ring: assess
quadrant: "languages-and-frameworks" quadrant: "languages-and-frameworks"
featured: true tags: [coding, frontend]
tags: [coding, frontend]
--- ---
[Svelte](https://svelte.dev/) is neither a language nor a framework, but actually a compiler. It compiles HTML templates to specialized code that [Svelte](https://svelte.dev/) is neither a language nor a framework, but actually a compiler. It compiles HTML templates
manipulates the DOM directly, which may reduce the size of transferred files and give better client performance. to specialized code that manipulates the DOM directly, which may reduce the size of transferred files and give better
client performance.
It is surprisingly easy to work with, and we currently assess it in an internal project. It is surprisingly easy to work with, and we currently assess it in an internal project.

View File

@@ -1,12 +1,11 @@
--- ---
title: "Turborepo" title: "Turborepo"
ring: trial ring: trial
quadrant: "tools" quadrant: "tools"
featured: true tags: [build, frontend]
tags: [build, frontend]
--- ---
[Turborepo](https://turbo.build/repo) is a build system for JavaScript and TypeScript project, [Turborepo](https://turbo.build/repo) is a build system for JavaScript and TypeScript project,
which uses a [Monorepo](https://www.aoe.com/techradar/methods-and-patterns/monorepo.html) structure for their codebase. which uses a [Monorepo](https://www.aoe.com/techradar/methods-and-patterns/monorepo.html) structure for their codebase.
It helps to build projects efficiently by clever caching and resolving dependencies. It helps to build projects efficiently by clever caching and resolving dependencies.