ExCatalog
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
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"}
]
endCreating the Database Tables
The Database Tables can be created by running the mix alias.
mix installConfig
Add the following to your config.exs
config :ex_catalog, :ecto_repos, [ExCatalog.Repo]
config :ex_cldr,
json_library: JasonAdd 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 ## optionalGenerate a migration
mix ExCatalog.install(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.