Flamingo is a blazingly fast open source framework based on Go. It consists of two major components Flamingo Core and Flamingo Commerce that can be used independently. AOE CTO Daniel Pötzinger presented the Flamingo framework at code.talks commerce conference 2019 in Berlin.
More info on www.flamingo.me
www.aoe.com
12. Soooo.. you really created
your own e-commerce
framework ?
Not really - its more the
”commerce” frontend application
supposed to connect to your
service architecture
13. Ok but still there should be
a lot solutions out there
Yes… and No…
.. in fact we also used a lot of active
and reliable open source libs.
But hear our complete story..
25. How would you love to develop
commerce applications?
Is PHP still the right development
language for this?
??
26. How would you love to develop commerce applications?
• Performance:
Highly dynamic fast content rendering Individual Personalization and Context aware
rendering
• Clean architecture
• Flexibility in a Microservice architecture:
Flexible to use in microservice oriented individual architectures. Useable with
„headless“ (commerce) services No Build and deploy overhead
• Frontend development flexibility:
Decouple frontend build pipeline from „backend“ logic
• Testability
• Developer Experience:
Effective and Fun to use * low learning curve
• Open Source
27. Is PHP the right development language for this?
• Webserver included
• Compiled / Type Safe
• Concurrency
• Easy to learn - build to scale
• Supported by Google
• Increasing Interest and Success
28. Lets build something new - with the experience we collected
And go Open Source with it
2016 / 2017
29.
30. Ecosystem
Carotene
Flamingo is an open
source framework
written in Go.
Use Flamingo Core to
build sophisticated web
applications with
tailored frontends.
Flamingo Commerce:
Your head for
headless
e-commerce
Npm modules that
provide frontend build
pipeline – featuring
pug, sass, webpack
and atomic design
pattern
31. Frontend
Backend for Frontend
web application architecture
Other Services Other Services
• Anti corruption layer
for the (tightly)
coupled frontend
• Serverside logic
• Data security and IT
security
• Experience / view
layer
• Can be MPA, SPA,
PWA
connect / resilience
33. Multi Page Application Single Page Application Progressive Web App
• Serverside rendered
• Still king for fast rendering
times.
• Still king for best SEO.
• Usage of progressive
enhancement
• High user interaction
• Usage of SPA frameworks
(React/Vue)
Enhance with offline features
through service workers
frontend architecture
Despite the PWA hype - you will still need serverside
rendering and MPA
35. Flamingo commerce
Bounded Contexts with its domain models
Cart
• Mutli delivery
• Multi payment
Product
• Product Types
• Simple
• Configurable
Search
• SearchService
• Documents
…
36. CartProduct Search
…
• Easy to use and decoupled
• Potent models
• Technology neutral domain model
Flamingo commerce
Bounded Contexts with its domain models
37. Flamingo – Ports and Adapters
Technology Free Domain Model
Application Use Cases
Adapters to the outside / Web Controllers
Technical details (e.g. accessing a microservice)
38. Domain of “Product”
Context
Application Layer
Flamingo – Ports and Adapters
<<interface>>
ProductService
.Get (id)
Used as primary port:
• The product service is called from the
interface layer for example
(in a ProductViewController)
ProductController
.ViewAction
Product
39. Domain of “Product”
Context
Application Layer
Flamingo – Ports and Adapters
<<interface>>
ProductService
.Get (id)
ProductController
.ViewAction
Infrastructure Layer
ProductServiceAdapter
Get (id) {…}
Used as secondary port:
• The product service is implemented
by a secondary adapter
Product