All Projects → andreapavoni → Nova

andreapavoni / Nova

An attempt to port/rebuild Spree, an open source e-commerce solution, with Elixir and Phoenix.

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Nova

Avia
open source e-commerce framework
Stars: ✭ 442 (+253.6%)
Mutual labels:  ecommerce, phoenix
crimson commerce
An OpenSource Ecommerce platform on the Elixir/Phoenix stack, which aims to leverage the power of functional programming for ecommerce.
Stars: ✭ 74 (-40.8%)
Mutual labels:  ecommerce, phoenix
Flutter Shopping Cart
Flutter Shopping cart design
Stars: ✭ 114 (-8.8%)
Mutual labels:  ecommerce
E Commerce Complete Flutter Ui
youtu.be/0z-igs267xw
Stars: ✭ 2,380 (+1804%)
Mutual labels:  ecommerce
Opencart Materialize
Template for OpenCart with Materialize
Stars: ✭ 117 (-6.4%)
Mutual labels:  ecommerce
Ventas
Clojure ecommerce platform
Stars: ✭ 114 (-8.8%)
Mutual labels:  ecommerce
Shopapp Android
ShopApp is an application that transfers an online store into a mobile app
Stars: ✭ 119 (-4.8%)
Mutual labels:  ecommerce
Django Oscar Paypal
PayPal integration for django-oscar. Can be used without Oscar too.
Stars: ✭ 112 (-10.4%)
Mutual labels:  ecommerce
Birdsong
🐦🎼 Swift WebSockets client for Phoenix Channels.
Stars: ✭ 124 (-0.8%)
Mutual labels:  phoenix
Awesome Amazon Seller
A curated list of tools and resources for Amazon sellers.
Stars: ✭ 117 (-6.4%)
Mutual labels:  ecommerce
Vc Storefront
VirtoCommerce Storefront for ASP.NET Core 3.1 repository
Stars: ✭ 122 (-2.4%)
Mutual labels:  ecommerce
Phoenix live dashboard
Realtime dashboard with metrics, request logging, plus storage, OS and VM insights
Stars: ✭ 1,657 (+1225.6%)
Mutual labels:  phoenix
Premailex
Preflight for your HTML emails - inline styling and plain text.
Stars: ✭ 114 (-8.8%)
Mutual labels:  phoenix
Moba
A turn-based browser RPG built with Phoenix LiveView
Stars: ✭ 120 (-4%)
Mutual labels:  phoenix
Flutter Ecommerce
Ecommerce app built with flutter
Stars: ✭ 112 (-10.4%)
Mutual labels:  ecommerce
Aimeos Core
Aimeos PHP e-commerce framework for ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 2,152 (+1621.6%)
Mutual labels:  ecommerce
Commerce.js
Open source, JS eCommerce SDK for building headless, Jamstack applications. Build custom storefronts, carts, and checkouts in any frontend framework, platform, or device. Integrates with Stripe, Square, PayPal, Paymill and Razorpay with support for 135+ currencies.
Stars: ✭ 112 (-10.4%)
Mutual labels:  ecommerce
Mc Magento2
MailChimp for Magento 2. Syncs all data (subscriber, customers, orders, products) and enables marketing automation with email campaigns, automations, ads, postcards and more.
Stars: ✭ 115 (-8%)
Mutual labels:  ecommerce
Angularspree
angular e-commerce framework for online store
Stars: ✭ 1,576 (+1160.8%)
Mutual labels:  ecommerce
Spree auth devise
Provides authentication (user accounts, login & signup) for @spree by using Devise
Stars: ✭ 124 (-0.8%)
Mutual labels:  ecommerce

Nova

Build Status Coverage Status Stories in Ready

An attempt to port/rebuild Spree, an open source e-commerce solution, with Phoenix.

Vision

Spree is an excellent product however, for several reasons, it started to show some limits:

  • being written in Ruby and Rails requires a lot of hosting resources
  • it became a big, monolithic piece of software, really hard to customize
  • it slowed down the development pace (perhaps because of the point above)

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.

Roadmap, a sort of

See TODO for more details, meanwhile, here there are some intentions:

Short term

The first short term goal is to quickly build a bare-bones MVP with the core models (eg: Product, Variant, Order, LineItem, ...) and the necessary code to glue them through isolated, well defined commands. Then, at a very high level:

  • get a monolithic app, for now
  • as a Customer (say a guest user for the first iteration), I want to purchase products (add to cart -> do checkout)
  • as an Admin, I want to manage products and orders through an HTTP-JSON API

Mid term

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;
  • extensions: everything that doesn't strictly fit into the above components, should be done in a dedicated package. After all, some features are very specific to certain needs, we don't want another monolithic piece of software.

Long term

Don't know right now, world domination™? :-)

Contributing

  1. Be nice with others
  2. Check issues or, if your prefer kanban boards, we have waffle too
  3. Fork this repo
  4. Write code (and tests)
  5. Open a PR

Setup

  1. Copy .env-example.exs to .env.exs, then edit it to set secret configs
  2. Install dependencies with mix deps.get
  3. Create and migrate your database with mix ecto.create && mix ecto.migrate
  4. Run tests with mix test
  5. Install npm dependencies with npm install
  6. Start Phoenix endpoint with mix phoenix.server
  7. Visit localhost:4000 from your browser

Credits

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].