/nectarcommerce

Quest for customizable E-commerce - the Elixir way

Primary LanguageElixir

Nectar E-Commerce Build Status

Nectar is an open source e-commerce Elixir/Phoenix project to be evolved into E-Commerce framework the elixir way Please share your ideas here

It includes:

Admin

  • Product Management

    • Manage OptionTypes/OptionValues
    • Manage Categories
    • Product with / without variants
    • Search
  • Configuration Management

    • General Settings
    • Shipping Methods
    • Payment Methods
      • Stripe and Braintree supported
  • Cart Management

    • Add / Remove Variant
    • Add Shipping / Billing Address
    • Choose Shipping Method
    • Choose Payment Method
  • Order Management

    • Cancel LineItem
    • Fulfill Order
    • Create New Order
    • Search
  • User Management

    • Create Users
    • Promote / Demote as Admin

User

  • User Registration / Login
  • Product Browsing
    • List and Search
    • on available categories
  • Cart Management
  • Check Order Details

Demo

Docker Image

https://hub.docker.com/r/vinsol/nectarcommerce

  • Simply run docker run -it -p 4000:4000 vinsol/nectarcommerce:latest and go to http://localhost:4000

Getting Started

  • Pre-requisites

  • Clone Project Locally

    • git clone https://github.com/vinsol/nectarcommerce.git
  • Set up Development Environment

    • Copy apps/nectar/config/dev.secret.exs.example as dev.secret.exs
      • cp apps/nectar/config/dev.secret.exs.example apps/nectar/config/dev.secret.exs
    • Configure Postgres Database
    • Configure Arc for images upload
    • Configure Payment Methods
    • Get Application Dependencies
      • mix deps.get
    • Set-up Application Database
      • Drop Database
        • mix ecto.drop -r Nectar.Repo
      • Create Database
        • mix ecto.create -r Nectar.Repo
      • Migrate Database
        • mix ecto.migrate -r Nectar.Repo
      • Seed Database
        • mix run apps/nectar/priv/repo/seeds.exs
    • Build Assets
      • cd apps/nectar
      • npm install
      • npm install babel-preset-es2015 --save
      • ./node_modules/brunch/bin/brunch build
      • Optionally might need bower install
    • Run Phoenix Server with IEx
      • iex -S mix phoenix.server
  • Browse User Interface

  • Browse Admin Interface

Contributing

  1. Fork the repo.
  2. Clone your repo.
  3. Check Getting Started
  4. Make your changes.
  5. Ensure tests pass by running mix test.
  6. Submit your pull request.

Running Tests

We use Travis CI to run the tests for Nectar.

You can see the build statuses at https://travis-ci.org/vinsol/nectarcommerce.

RoadMap

  • Evolve into a Phoenix E-commerce Framework
    • Better and More Shipping Methods Customization
    • Better and More Payment Methods Customization
    • Customize Tax Rate Calculations
    • Customize Package Management
      • Add Order Splitters
  • RealTime Updates using Channels
  • Upgrade to ecto-2
  • Customisable and decoupled Frontend and Backend
    • React Frontend
    • Phoenix Api Backend
  • Improved Stock Management
  • Returns / Refunds Management
  • Payments
    • Add support for capture and refunds
  • Marketing
    • Promotions
    • Email Campaigns
  • More features as per contributions and use :)

Credits

vinsol.com: Ruby on Rails, iOS and Android developers

Copyright (c) 2016 vinsol.com, released under the New MIT License