Work on updated items

This commit is contained in:
Daniel Pötzinger
2019-10-18 20:49:29 +02:00
parent 3a376101fb
commit 8060a4514d
8 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
---
title: "Container-based builds"
ring: adopt
quadrant: methods-and-patterns
---
Updated to "adopt". Container based builds has getting to the defacto standard for our pipelines in [Gitlab](/tools/gitlab.html) or other CI Tools.

View File

@@ -0,0 +1,40 @@
---
title: "Flamingo"
ring: adopt
quadrant: languages-and-frameworks
---
Flamingo
Flamingo is a high productivity go based framework for rapidly building fast and pluggable web projects.
It is used to build scalable and maintainable (web)applications.
Flamingo is:
* open source
* written in go
* easy to learn
* fast and flexible
Go as simple, powerful and typesafe language is great to implement and scale serverside logic.
Flamingo has a clean architecture with clear dependencies in mind and offers a typical features and support for nowadays web applications:
* Powerful Templating Engines. E.g. support for Pug templates with reusable mixins and lightweight scripting.
* Configuration concepts using yml and support for multiple areas and contexts
* Powerful Dependency Injection
* A Module concept for building modular and pluggable applications
* Authentication concepts and security middleware
* Flexible routing with support for prefix routes and reverse routing
* Web Controller Support with: Request / Response / Form Handling etc
* Operational Readyness: Logging, (distributed) Tracing, Metrics and Healthchecks with seperate endpoint
* Localisation
* Commands
* Sessionhandling and Management
* GraphQL support and therefore support to build nice SPA and PWAs on top of it
* Resilience and Caching for external APIs calls.
Flamingo itself does not contain ORM Mapper or libraries - instead it emphasizes "ports and adapters" architecture - so that you have a technology free (domain) model and any possible (and replaceable) persitence behind it.
That makes Flamingo useful to build microservices and applications - especially to build "frontends" or portals that require interaction with other (micro) services in a distributed architecture.
When sticking to the architectural recommendation you can build modular applications with replaceable adapters that gives you independed testability.
With **"Flamingo Commerce"** there is an additional active projects that offer rich and flexible features to build modern e-commerce applications.

View File

@@ -0,0 +1,21 @@
---
title: "GitFlow"
ring: hold
quadrant: methods-and-patterns
---
Ever since there are recurring discussions about the version control strategy that a team should use.
We have also made the experience when new teams start off with using blocking or long lived feature branches (merge late once all review comments are done) it has a negative impact on team performance.
We recommend to use trunk based development with short lived (<1day) feature branches,
because this has shown to support continuous integration and team collaboration the best.
See also:
* trunk based development https://trunkbaseddevelopment.com/
* https://medium.com/@fagnerbrack/one-commit-one-change-3d10b10cebbf
* https://martinfowler.com/bliki/FeatureBranch.html
* https://www.continuousdeliveryconsulting.com/blog/organisation-antipattern-build-feature-branching/

View File

@@ -0,0 +1,7 @@
---
title: "Gitlab CI"
ring: adopt
quadrant: tools
---
Moved to "adopt".

View File

@@ -0,0 +1,10 @@
---
title: "Gitlab"
ring: adopt
quadrant: tools
---
Moved to "adopt": Gitlab has proven to be a very useful tool for code and the collaboration around it.
With [Gitlab CI](/tools/gitlab-ci.html) there is also a powerful tool to automate continuous integration and delivery.

View File

@@ -0,0 +1,8 @@
---
title: "Go / Golang"
ring: adopt
quadrant: languages-and-frameworks
---
We have moved Go to "adopt".

View File

@@ -0,0 +1,7 @@
---
title: "RabbitMQ"
ring: adopt
quadrant: tools
---
RabbitMQ has proven to work very well for messaging in our projects, thats why we updated it to "adopt".

View File

@@ -0,0 +1,8 @@
---
title: "Self-service infrastructure"
ring: trial
quadrant: methods-and-patterns
---
Moved to "trial".