What is Flamingo¶
Flamingo is a go based, framework for pluggable web projects. It is used to build scalable and maintainable web-applications.
- 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 clean and clear dependencies in mind.
It's architecture is especially useful to build "frontends" for your headless microservice architecture.
With "Flamingo Carotene" and "Flamingo Commerce" you get your toolkit for building blazing fast commerce experience layers
The Flamingo Ecosystem¶
The Flamingo ecosystem consists of the following main projects:
- Flamingo: This is the go based (micro)framework with all core and framework modules.
- Flamingo Carotene: Npm modules that provide a frontend build pipeline for your projects - featuring tools like pug, Sass, webpack and atomic design pattern.
- Flamingo Commerce: Providing powerful e-commerce features, that you can use to build flexible and modern e-commerce applications
Related to this projects you find a couple of training materials and examples.
Flamingo-Carotene is an easy to use frontend (-tooling) for projects build with the Flamingo framework. Ii offers the frontend build pipeline using tools like pug, sass, webpack and atomic design pattern. It can be used to implement modern and flexible - component based templates for your web applications.
Flamingo Commerce consits of several Flamingo modules, that provide powerful e-commerce features, that you can use to build flexible and modern e-commerce applications.
Flamingo Commerce uses "Domain Driven Design" with a "technology free" domain model by using the layering approach "Ports and Adapters" for its modules. The different modules provide „domain“, „application“ and „interface“ logic around commerce features.
According to „ports and adapters“ these modules can be used with your own „Adapters“ to interact with any API or microservice you want.
You may want to start reading in the docs: