Extension Approach Explained

This post aims at documenting how the approach we took to make NectarCommerce extensible is structured, the order of dependencies amongst the various nuts and bolts of NectarCommerce and its extensions as implemented.

NectarCommerce can be divided in two components, both of which reside in the same umbrella application.

Continue reading

Running Multiple Elixir Apps in Umbrella Project

As NectarCommerce extensions are envisioned to be used with Nectar and would be dependent on Nectar directly or indirectly, we chose umbrella project to have Nectar, extensions_manager, user_app, and extensions apps as part of it.

We plan to use phoenix app for extensions where web-component is needed and which would be part of the umbrella project.

Continue reading

Ecto Model Support Functions Extension

We want to allow Extensions to add support functions to existing Nectar Models without changing the Nectar Models.

Let’s begin the journey of incremental changes to bring consumer, service and library code into existence starting from a simple use-case of adding a function, say fn_from_outside, to Nectar Product.

Continue reading

Ecto Model Schema Extension

We want to allow Extensions to modify the schema of existing Nectar Models without changing the Nectar Models.

Extensions should be able to add new fields and associations to existing models as and when needed.

Let’s begin the journey of incremental changes to bring consumer, service and library code into existence starting from a simple use-case of adding a virtual boolean field, say special, to Nectar Product.

Continue reading

Introduction to Metaprogramming

It lists Metaprogramming resources and constructs used in upcoming blogs when creating different extension DSL’s.

Why another tutorial on an already well-documented metaprogramming topic ?

To revise and refresh something that we would refer time and again when reviewing Model, Router, View extension DSLs

Extension DSLs will be using below meta-programming constructs to get the job done :)

Continue reading

NectarCommerce Vision

E-commerce Framework with an extension methodology which allows easy integration of custom features unique to the domain.

NectarCommerce should provide an Extension Framework, where custom features as needed per domain can be developed and integrated back to NectarCommerce with minimal effort and no noticeable impact on runtime performance

Continue reading

Announcing NectarCommerce, Vinsol’s Open Source Elixir/Phoenix Project

Elixir coupled with the Phoenix Framework provides one of the most powerful platforms for developing Web and Mobile Applications. It’s capability of producing highly reliable fault-tolerant systems has attracted developers worldwide. Vinsol is delighted to announce the release of it’s … Continue reading