The post belongs to NectarCommerce and Extension Framework Awareness Series
- NectarCommerce Vision
- Extension Framework Game Plan
- Introduction to Metaprogramming
- Ecto Model Schema Extension
- Ecto Model Support Functions Extension
- Phoenix Router Extension
- Phoenix View Extension
- Running Multiple Elixir Apps Together
- Extension Approach Explained
- Learning from failures: First Experiment at NectarCommerce Extension Approach
- Developing NectarCommerce Extensions
- Building an exrm release including NectarCommerce
What will be NectarCommerce
Off-the-shelf Opensource E-commerce application for building an online store.
Provides an Extension Framework to support features not included in core as extensions.
Strives for unobtrusive parallel development of NectarCommerce and Extensions
NectarCommerce is committed to providing a ready-to-use e-commerce solution but the definition of 100% is different under different business domains. It aims to solve common use-cases as part of the project and relying on extension framework to tap the rest.
E-commerce Framework with an extension methodology which allows easy integration of custom features unique to the domain.
NectarCommerce in a NutShell
NectarCommerce is an E-commerce Elixir/Phoenix Application which is currently having following features:
- Product Management
- Order Management
- Basic Stock Management
NectarCommerce and Extensions
The project is in its early stages where NectarCommerce and extensions are residing side-by-side in Elixir umbrella app.
Our plan is to evolve where NectarCommerce and all other extensions will be mix projects/applications which may have web components via phoenix, which can be downloaded as hex packages.
Once ready, 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
The extensions should seamlessly integrate via Extensions Framework with NectarCommerce such that changes in extensions will not demand a change in NectarCommerce and extensions can incrementally adapt to changes in NectarCommerce for better support, new features, and betterments.
NectarCommerce and extensions can be grown and developed in isolations, wherein, NectarCommerce is developed by one team and extensions probably by many different teams where no one team will own all the extensions and NectarCommerce.
Our aim with these posts is to start a dialog with the Elixir community on validity and technical soundness of our approach. We would really appreciate your feedback and reviews, and any ideas/suggestions/pull requests for improvements to our current implementation or entirely different and better way to do things to achieve the goals we have set out for NectarCommerce.
Enjoy the Elixir potion !!