All Projects → i-love-flamingo → Flamingo Commerce

i-love-flamingo / Flamingo Commerce

Licence: osl-3.0
Flexible E-Commerce Framework on top of Flamingo. Used to build E-Commerce "Portals" and connect it with the help of individual Adapters to other services.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Flamingo Commerce

Aurelia
Aurelia 2, a standards-based, front-end framework designed for high-performing, ambitious applications.
Stars: ✭ 995 (+558.94%)
Mutual labels:  framework, web-framework
Chicagoboss
Erlang web MVC, now featuring Comet
Stars: ✭ 1,825 (+1108.61%)
Mutual labels:  framework, web-framework
Framework
IONDV. Framework is a high level framework for enterprise web applications development.
Stars: ✭ 54 (-64.24%)
Mutual labels:  framework, web-framework
Iris
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |
Stars: ✭ 21,587 (+14196.03%)
Mutual labels:  framework, web-framework
Core
🚀 The Node.js Framework highly focused on developer ergonomics, stability and confidence
Stars: ✭ 11,697 (+7646.36%)
Mutual labels:  framework, web-framework
Goyave
🍐 Elegant Golang REST API Framework
Stars: ✭ 811 (+437.09%)
Mutual labels:  framework, web-framework
Siris
DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Stars: ✭ 146 (-3.31%)
Mutual labels:  framework, web-framework
Shio Rs
Shio is a fast, simple, and asynchronous micro web-framework for Rust.
Stars: ✭ 276 (+82.78%)
Mutual labels:  framework, web-framework
Valval
The fastest web framework in V language (vlang)
Stars: ✭ 103 (-31.79%)
Mutual labels:  framework, web-framework
Toruk
Go web 开发脚手架
Stars: ✭ 78 (-48.34%)
Mutual labels:  framework, web-framework
Vapor
💧 A server-side Swift HTTP web framework.
Stars: ✭ 21,194 (+13935.76%)
Mutual labels:  framework, web-framework
Uadmin
The web framework for Golang
Stars: ✭ 127 (-15.89%)
Mutual labels:  framework, web-framework
Gramework
Fast and Reliable Golang Web Framework
Stars: ✭ 354 (+134.44%)
Mutual labels:  framework, web-framework
Ever
Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces
Stars: ✭ 980 (+549.01%)
Mutual labels:  commerce, framework
Routing Controllers
Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.
Stars: ✭ 3,557 (+2255.63%)
Mutual labels:  framework, web-framework
Cuba
CUBA Platform is a high level framework for enterprise applications development
Stars: ✭ 1,114 (+637.75%)
Mutual labels:  framework, web-framework
Ymple Ecommerce
Node js E-commerce Framework powered with Sails.js & Node.js as an Ecommerce Platform Shop Solution
Stars: ✭ 152 (+0.66%)
Mutual labels:  commerce, framework
Sihl
A modular functional web framework
Stars: ✭ 267 (+76.82%)
Mutual labels:  framework, web-framework
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+678.81%)
Mutual labels:  framework, web-framework
Denovel
A Deno Framework For Web Artisan - Inspired by Laravel
Stars: ✭ 128 (-15.23%)
Mutual labels:  framework, web-framework

Flamingo Commerce

Go Report Card Tests Release

With "Flamingo Commerce" you get your toolkit for building fast and flexible commerce experience applications.

A demoshop using the standalone adapters is online here https://demoshop.flamingo.me - you can also try the GraphQL support

What problems does Flamingo Commerce solve?

  • Modern Architecture: Break monolithic e-commerce architeture to allow scaling and maintainability.
  • Modern Architecture: Use it to build commerce for headless commerce solutions
  • Real time commerce: Build personalized experiences - without the need to cache rendered pages

What are the main design goals of Flamingo Commerce?

  • Performance: We do not want to rely on any frontend caching. Instead it is no problem to show every customer an individual experience.
  • Clean architecture: We use "domaind driven design" and "ports and adapters" to build a maintainable and clean application.
  • Suiteable for Microservice architectures: Adapters concept and various resilience concepts makes it easy to connect to other (micro) services.
  • Decoupled and flexible frontend development: Frontend development is decoupled from the "Backend for Frontend" - so that it is possible to use "any" frontend technology.
  • Testability: By providing "Fake Adapters" that provide test data, it is possible to test your application without external dependencies.
  • Great Developer Experience: :-)
  • Open Source: Flamingo Commerce and Flamingo is Open Source and will be.

Whats does Flamingo Commerce provide?

  • Different e-commerce Flamingo Modules for typical e-commerce domains: Each providing a separated bounded context with its „domain“, „application“ and „interface“ logic.

  • Using „ports and adapters“ to separate domain from technical details, all these modules can be used with your own „Adapters“ to interact with any API or microservice you want.

  • Some of the major Flamingo Commerce modules (bounded contexts) are:

    • product: Offering domain models for different product types. Supporting multiple prices (including loyalty prices) etc..
    • cart: Powerful cart domain model. Supporting multi delivery, multiple payment transactions, and a lot more.
    • search: Generic search service and features
    • checkout: Offering logic and interfaces for an example (default) checkout.
  • Each of the modules provide graphql support that you can use.

Flamingo Commerce is build on top of the Flamingo Framework so it makes sense that you read through the Flamingo docs also

Read more under docs.flamingo.me

Commerce Modules:

  • price:

    • Offers value objects for prices and charges - supporting calculations, rounding and splitting
    • GoDoc
    • Readme
  • product:

    • Offers domain models and interface logic for handling different product types
    • GoDoc
    • Readme
  • category:

    • Offers domain models and interface logic for category tree and category views
    • GoDoc
    • Readme
  • cart:

    • The cart module is one of the main modules in Flamingo Commerce. It offers domain models and logic for multi delivery, multi payment carts.
    • GoDoc
    • Readme
  • payment:

    • Offers a generic payment value objects as well as a generic web payment interface and comes with the "offlinepayment" gateway.
    • GoDoc
    • Readme
  • search:

    • Offers domain models and interface logic for generic search and search filters.
    • GoDoc
    • Readme
  • checkout:

    • Offers a default checkout implementation that can be used.
    • GoDoc
    • Readme
  • customer:

    • Offers domain models for customer
    • GoDoc
    • Readme
  • order:

    • Offers domain models for orders. For example to use it on a "My Orders" page.
    • GoDoc
    • Readme
  • w3cdatalayer:

    • Offers interface logic to render a Datalayer that can be used for e-commerce tracking
    • Readme

Flamingo Commerce Release Status

Flamingo Commerce API is Beta because we will still change the API (models and methods). You are encourages to use it but if you update you might need to adjust your code to the latest changes.

Setup

We recommend to use go modules, so you just need to add Flamingo Commerce to your main go file as import:

e.g. to use the product module add

import (
  "flamingo.me/flamingo-commerce/v3/product"
)

And then load the Module in your application bootstrap:


// main is our entry point
func main() {

	flamingo.App([]dingo.Module{
	    ...
		//flamingo-commerce modules
		new(product.Module),
		
	}, nil)
}


To update the dependency in go.mod run

go get flamingo.me/flamingo-commerce/v3

Demo

There is a demo: https://demoshop.flamingo.me

And the code is also published: https://github.com/i-love-flamingo/commerce-demo-carotene

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].