An attempt to port/rebuild Spree, an open source e-commerce solution, with Elixir and Phoenix.
Spree is an excellent product however, for several reasons, it started to show some limits:
So here's the deal: why not to port/rebuild Spree with Elixir and Phoenix? The main idea is to take inspiration from the many Spree's good parts and build a new generation ecommerce for the next years.
See TODO for more details, meanwhile, here there are some intentions:
The first short term goal is to quickly build a bare-bones MVP with the core models (eg:
LineItem, ...) and the necessary code to glue them through isolated, well defined commands. Then, at a very high level:
Once we get an initial, working, very basic product, we can start to split the whole app into components. Very similar to Spree:
core: contains the core models and their basic integrations (queries, commands, ...);
api: all actions should be done from an HTTP-JSON API, so anyone can build its custom frontend (eg: a Single Page App, command line, mobile app, ...), especially for admins;
frontend: uses plain old server-rendered HTML pages;
admin: not a top priority. it's like
frontend, for admins;
Don't know right now, world domination™? :-)
.env.exs, then edit it to set secret configs
mix ecto.create && mix ecto.migrate
localhost:4000from your browser