View Source ExCatalog

Coverage Status CircleCI Version GitHub GitHub last commit (branch)

A General E-commerce Catalog System

Think of this like an old school paper mail in catalog, we dont need all the fluff (extra db tables etc) as in in most ecommerce implementations, this is just a catalog, decoupled from inventory management with some options such as csv and pdf export, integer or binary primary key.

installation

Installation

If available in Hex, the package can be installed by adding ex_catalog to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_catalog, ">= 0.0.0"}
  ]
end

creating-the-database-tables

Creating the Database Tables

The Database Tables can be created by running the mix alias.

mix install

config

Config

Add the following to your config.exs

config :ex_catalog, :ecto_repos, [ExCatalog.Repo]

config :ex_cldr,
  json_library: Jason

Add the following to your dev and/or prod config

config :ex_catalog, :ecto_repos, [ExCatalog.Repo]

config :ex_catalog, ExCatalog.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: "postgres",
  password: "postgres",
  database: "ex_catalog_dev",
  hostname: "localhost",
  pool_size: 10,
  primary_key_type: :uuid ## optional

generate-a-migration

Generate a migration

mix ExCatalog.install

optional-startup-config-options-for-using-currency-autoloader-etc

(Optional) startup config options for using currency autoloader etc

config :ex_money,
  exchange_rates_retrieve_every: 300_000,
  api_module: Money.ExchangeRates.OpenExchangeRates,
  callback_module: Money.ExchangeRates.Callback,
  exchange_rates_cache_module: Money.ExchangeRates.Cache.Ets,
  preload_historic_rates: nil,
  retriever_options: nil,
  log_failure: :warn,
  log_info: :info,
  log_success: nil,
  json_library: Jason,
  default_cldr_backend: ExCatalog.Cldr
  
config :ex_catalog, :autoload_exchange_rates, true 

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ex_catalog.